精华内容
下载资源
问答
  • 代码其实很简单,就是一个服务,以开发环境配置文件,以测试环境配置,使两个服务端口不一样,另外如果不其它东西,仅仅是改端口,其实也可以直接启动容器的时候把端口号指定出来,-d -p 8080:8080 等这种方式也是...

    利用一个镜像去创建多个微服务实例,实现扩展服务的目的,主要难点是利用配置文件分别启动不同的实例

    代码其实很简单,就是一个服务,以开发环境配置文件,以测试环境配置,使两个服务端口不一样,另外如果不其它东西,仅仅是改端口,其实也可以直接启动容器的时候把端口号指定出来,-d -p 8080:8080 等这种方式也是成立的,想改变更多的内容就要用配置文件来启动了

    两个配置文件application-dev.yml,和application-test.yml application.yml

    • application-dev.yml如下
    server:
      port: 8081
    
    • application-dev.yml如下
    server:
      port: 8090
    
    • jar包上传到目录.正常构建镜像
    • 启动镜像

    启动dev环境的镜像[port:8081]

    docker run -d -p 9000:8081 fd13c19f7684   --spring.profiles.active=dev
    # 或者
    docker run -d -p 9000:8081 fd13c19f7684  java -jar app.jar --spring.profiles.active=dev
    

    在这里插入图片描述

    在这里插入图片描述

    启动test环境的镜像[port:8090]

    docker run -d -p 9010:8090 fd13c19f7684   --spring.profiles.active=test
    # 或者
    docker run -d -p 9010:8090 fd13c19f7684  java -jar app.jar --spring.profiles.active=test
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • Docker 创建容器并启动

    千次阅读 2018-04-11 17:48:45
    创建并启动容器:docker run -it -v /home:/home registry.d.com/cetiti/pentaho-di:7.0 /bin/bashdocker ps -a启动已经创建的容器:docker start quizzical_euler进入容器:docker exec -it quizzical_euler /bin/...

    创建并启动容器:docker run -it -v /home:/home registry.d.com/cetiti/pentaho-di:7.0 /bin/bash

    docker ps -a

    启动已经创建的容器:docker start  quizzical_euler

    进入容器:docker exec -it quizzical_euler /bin/sh


    docker run -it -v /home:/home registry.d.com/cetiti/pentaho-di:7.0 /bin/bash

    通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。



    展开全文
  • 利用一个镜像去创建多个微服务实例,实现扩展服务的目的,主要难点是利用配置文件分别启动不同的实例,刚开始没有搞清楚配置文件和容器启动的关系,被坑了很长时间代码其实很简单,就是一个注册服务中心,以开发环境...

       利用一个镜像去创建多个微服务实例,实现扩展服务的目的,主要难点是利用配置文件分别启动不同的实例,刚开始没有搞清楚配置文件和容器启动的关系,被坑了很长时间

    代码其实很简单,就是一个注册服务中心,以开发环境配置文件创建服务注册中心,以测试环境配置服务注册中心,使两个服务注册中心都 可以用,只是端口不一样,另外如果不其它东西,仅仅是改端口,其实也可以直接启动容器的时候把端口号指定出来,-d  -p  8080:8080 等这种方式也是成立的,想改变更多的内容就要用配置文件来启动了,

    第一  启动服务注册的类

    @SpringBootApplication
    @EnableEurekaServer
    @EnableDiscoveryClient
    public class TesteurakaApplication {


    public static void main(String[] args) {
    SpringApplication.run(TesteurakaApplication.class, args);
    }

    }

    第二,两个配置文件application-dev.yml,和 application.yml

    application-dev.yml如下

    server:
      port: 8787
    spring:
      application:
        name: dev
    eureka:
      client:
        registerWithEureka: true
        fetchRegistry: true
        server:
          enable-self-preservation: false
        serviceUrl:
          defaultZone: http://peer1:5011/eureka
      instance:
        hostname: peer2
    #peer1、peer2和peer3需要在hosts文件中设置为127.0.0.1,在生产环境中可以写真实的域名
        metadataMap:
          instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}


    application.yml 如下

    server:
      port: 8711
    spring:
      application:
        name: test-dev
    eureka:
      client:
        registerWithEureka: true
        fetchRegistry: true
        server:
          enable-self-preservation: false
        serviceUrl:
          defaultZone: http://peer2:5012/eureka
      instance:
        hostname: peer1
    #peer1、peer2和peer3需要在hosts文件中设置为127.0.0.1,在生产环境中可以写真实的域名
        metadataMap:
          instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}
    #三个横杠表示一个新的文件环境配置,同一文件写多个文件配置环境必须写spring:application:name=dev属性名称
    ---
    spring:
      profiles:
        active: dev
    #用这种方式启动容器加载配置文件,多实例同一个镜像启动多个容器不同的端口号,达到高可用的目的

    #docker run -d -p 8787:8787 ca7f456ae49c java -jar app.jar --spring.profiles.active=test-server

    Dockerfile 文件这是容器的生成文件

    FROM java:8
    VOLUME /tmp
    RUN mkdir /app
    ADD testeuraka-1.0.0.jar /app/app.jar
    ADD runboot.sh /app/
    RUN bash -c 'touch /app/app.jar'
    WORKDIR /app
    RUN chmod a+x runboot.sh
    RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ 
        echo 'Asia/Shanghai' >/etc/timezone
    EXPOSE 5010

    CMD /app/runboot.sh

    还有个 runboot.sh 脚本  这个网上应该能找到,我也是下载的

    下面是pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>


    <groupId>com.example.euraka</groupId>
    <artifactId>testeuraka</artifactId>
    <version>1.0.0</version>
    <packaging>jar</packaging>


    <name>testeuraka</name>
    <description>Demo project for Spring Boot</description>


    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
    </parent>


    <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <version.jackson>2.9.2</version.jackson>
    <java.version>1.8</java.version>
    <docker.url>http://192.168.11.233:2375</docker.url> 
    <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
    </properties>


    <dependencies>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>


    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    </dependency>
    </dependencies>


    <dependencyManagement>
    <dependencies>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>${spring-cloud.version}</version>
    <type>pom</type>
    <scope>import</scope>
    </dependency>
    </dependencies>
    </dependencyManagement>


    <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    <plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <configuration>
    <dockerHost>${docker.url}</dockerHost>
    <imageName>${project.name}:${project.version}</imageName>
    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
    <skipDockerBuild>false</skipDockerBuild>
    <resources>
    <resource>
    <targetPath>/</targetPath>
    <directory>${project.build.directory}</directory>
    <include>${project.build.finalName}.jar</include>
    </resource>
    <!-- 强制docker在每次新的构建上覆盖镜像tags -->
    <!-- <forceTags>true</forceTags> -->
    </resources>
    </configuration>
    </plugin>
    </plugins>
    </build>
    </project>

    上面有直接打包容器到哪个服务器的IP,根本自己的IP改就行

    整体项目是这样


    最重要的还是这种方式启动了

    #docker run -d -p 8787:8787 ca7f456ae49c java -jar app.jar --spring.profiles.active=test-server

    之前尝试了很多,都 没有成功,这样就在同一镜像里创建两个容器实例,创建容器并不难,最开始可能没有认真看文档,也是被坑了好多次,



    展开全文
  • docker创建容器 运行容器命令 run 命令语法: docker run [可选参数] ...-t //为容器重新分配一个伪输入终端,通常与-i同时使用。 -P //随机端口映射。 -p //指定端口映射, 容器交互式运行 启动docker容器一定要

    docker创建容器

    运行容器命令 run

    • 命令语法:
    docker run [可选参数] images [镜像名称][版本号]/[镜像id]
    
    • 可选参数说明:
    -- name="容器新名称"  //为容器指定新名称。
    -d    //后台运行容器,并返回容器id。
    -i    //以交互模式运行容器,通常与-t同时使用。
    -t    //为容器重新分配一个伪输入终端,通常与-i同时使用。
    -P    //随机端口映射。
    -p    //指定端口映射,
    

    容器交互式运行

    • 启动docker容器一定要让容器以交模式运行,否则容器已启动就会退出,即在可选参数的位置添加 -it,在命令语法,可选参数中说明中有介绍。
    docker run -it images [镜像名称][版本号]/[镜像id]
    

    容器相关命令

    • 退出容器
    exit;   //退出并关闭容器。
    ctrl+p+q //退出并不关闭容器快捷键。
    
    • 列出所有容器
    docker ps 【可选参数】
    docker ps -a  //显示所有运行的容器
    docker ps -l  //列出最近创建的容器
    docker ps -n  //显示最近n个创建的容器
    docker ps -q  //静默模式只显示容器编号
    
    • 启动,重启,关闭容器
    docker start 【容器id/容器名称】   //启动容器
    docker restart 【容器id/容器名称】 //重新启动容器
    docker stop 【容器id/容器名称】    //停止容器
    docker kill 【容器id/容器名称】    //强制停止容器
    
    • 删除已停止的容器
    docker rm 【容器id/容器名称】   //删除已停止的容器
    docker rm -f $(docker ps -aq)         //删除多个容器,-f表示强制删除
    

    容器其他操作

    • 启动守护式进程:docker容器后台运行,就必须有一个前台进程。
    docker run -it -d images [镜像名称][版本号]/[镜像id]
    
    • 查看容器日志
    docker logs 【容器id/容器名称】 //查看容器日志
    docker logs -tf 【容器id/容器名称】 //跟随最新的时间戳,加入日志打印
    docker logs -tail 【数字】 显示最后多少条
    
    • 查看容器运行进程
    docker top 【容器id/容器名称】 //查看容器进程
    
    • 查看容器内部细节
    docker inpect【容器id/容器名称】//查看容器内部细节
    
    • 进入正在运行的容器并以命令行交互。
    docker exec -it  【容器id/容器名称】 //进入容器并重新分配终端,以这种方式进入容器,使用exit退出容器,容器不会停止
    docker attach 【容器id/容器名称】//进入终端,使用exit退出会停止容器
    
    • 进入容器内拷贝文件到宿主机
    docker cp  【容器id】:【容器目录】 宿主机目录
    
    展开全文
  • docker一个镜像启动多个容器的操作

    万次阅读 2019-07-19 13:26:20
  • Docker新建并启动PostgreSQL数据库容器

    千次阅读 2020-05-26 19:02:14
    如有侵权,请联系作者。 转载请注明出处。...本篇文章描述如何启动并进入 PostgreSQL 数据库 Docker 容器。 1. 拉取镜像 如果拉取速度太慢,可以配置 Docker 镜像加速器。 docker pull postgres:<tag> 2.
  • 【docker】容器内部启动一个http服务

    千次阅读 2020-03-27 22:00:52
    假如已经按照上一篇的流程创建一个容器,并且在容器内安装了python环境以及flask相关的包,接下来启动一个服务,供容器外调用。 1. A quick start 首先要使用docker start命令启动一个已经停止的容器: docker ...
  • docker容器创建-启动-停止

    千次阅读 2019-06-18 11:01:47
    docker run 创建并启动一个容器,在run后面加上-d参数,则会创建一个守护式容器在后台运行。 docker ps -a 查看已经创建的容器 docker ps -s 查看已经启动的容器 docker start con_name 启动容器名为con_name的...
  • 阿里云容器与存储团队展开合作,利用DADI加速器支持镜像按需读取和P2P分发,实现3.01秒启动10000个容器,完美杜绝容器启动的数分钟漫长等待,以及镜像仓库大规模并行分发场景下的网络拥堵。 年关将至,各种年货节...
  • 创建一个docker容器

    万次阅读 2017-06-23 10:29:48
    创建一个便携的镜像,首先需要创建一个叫做Dockerfile的文件,这个文件定义了你要创建容器所需要的环境配置。由于这个环境是虚拟化的,所以与外部环境隔离,因此需要将你所需要用到的端口映射到外部,具体说明...
  • Docker - 重新启动关闭的容器

    千次阅读 2019-07-03 00:04:53
    文章目录Docker - 重新启动关闭的容器1、查看所有已经创建的容器2、通过id 启动容器 Docker - 重新启动关闭的容器 如果卸载了 mysql ,然后重新安装,重新配置,重新授权等系列操作下来,大约需要半小时到1...
  • Docker容器创建启动、和停止

    千次阅读 2019-01-08 10:53:55
    Docker容器创建启动、和停止 1、容器是独立运行的一个或一组应用,及他们的运行环境。容器是Docker中的一个重要的概念。 ... 2、docker容器启动有三种方式 ...例如我们可以启动一个容器,打印出当前的日历表 [...
  • Servlet容器(Tomcat)是如何启动创建 Spring 容器的?
  • 自己创建一个可以随时修改容器启动应用脚本的镜像。
  • docker 容器内服务随容器启动启动

    千次阅读 2019-10-30 14:15:06
    首先在现有的容器创建一个脚本 (我是在/usr/local 下创建的) touch autostart.sh 然后vi它 #!/bin/bash /usr/sbin/crond -i /usr/local/zxcollect/WisdomDaemon/bin/run.sh /bin/bash 你要启...
  • docker 启动500个容器测试

    千次阅读 2018-03-28 16:50:24
    3、创建一个python的应用程序脚本app.py 内容如下: import time import redis from flask import Flask app = Flask(__name__) cache = redis.Redis(host= 'redis' , port= 6379 ) def get_hit...
  • 使用 commit 创建 docker 镜像时,因为 docker 容器启动机制与原来的 linux 系统不一样,所以原来的自启动的应用在启动容器之后都不会自动启动。如docker容器里的mysql服务不启动。 解决方法 创建镜像时,在容器...
  • 如docker run命令创建Tomcat容器时即启动容器中的Tomcat服务。Docker提供了有多种方式实现该特性。 1.执行一个带参数的命令 创建容器时,如果希望默认即执行一个带参数的命令mycommand myparam,利用Dockerfile...
  • docker启动已存在容器

    千次阅读 2020-11-13 23:40:38
    查看所有容器 docker ps -a 启动已存在容器 docker start 容器ID
  • 在Spring MVC中,一般项目启动容器会自动加载,但是平时任务...一个实现了ApplicationListener接口的类,每当在一个ApplicationEvent发布到ApplicationContext(即上下文,也成为容器)时,该类就会得到通知(观察
  • 2、使用镜像创建并启动容器 3、分配一个文件系统,在只读的镜像层外面挂载一层可读可写层 4、从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去 5、从地址池分配一个ip地址给容器 6、执行用户执行的应用...
  • 每次容器运行时还要进入正在运行的容器启动应用服务。进入正在运行的容器中执行以下命令: $ docker exec -it -d XXX /bin/bash 其中: -d 后台运行 XXX 容器的名字 /bin/bash 以交互的方式运行容器 测试环境安装...
  • docker启动容器

    万次阅读 2015-01-16 11:17:20
    有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。 因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。所需要的命令主要为 docker run 。...
  • Docker 开放API使用 使用Docker开放API需要开启2375端口(Docker默认不开启) 下面列举开启方式: ...主要是在[Service]这部分,加上下面两参数 Copy# vim /usr/lib/systemd/system/docker.service [Service] Ex...
  • docker run :创建一个新的容器并运行一个命令 语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 1.OPTIONS说明 -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用 -i:以交互模式运行容器,通常与 -t...
  • Docker 容器启动 查看容器状态 - 四

    千次阅读 2018-12-10 18:15:00
    一种是基于创建一个容器并启动 docker create docker start 另一种 使用 run 创建自动启动;是状态下的停止 启动 docker start nginx1docker stop NAMES # 停止docker restart NAMES # 启动 # service ...
  • docker安装nginx: 1.拉取nginx镜像 docker pull nginx:latest ...4.运行以下命令,发现刚执行完该命令,nginx的容器就立即停止了 5.经过测试,以上命令改为这样就可以了,把nginx的位置调换了下
  • Docker 创建一个 Jar 服务容器

    千次阅读 2020-03-24 19:31:21
    准备好 jar 包,放在随意...编写Dockerfile文件,直接创建一个空文件,名字改成 “Dockerfile” 编写 Dockerfile 内容 FROM java:8 MAINTAINER cuixiaojian // 烤皮到容器 COPY servers-config-1.0.0.jar /usr/lo...
  • 通过dockerfile创建镜像启动容器

    千次阅读 2019-03-01 15:11:25
    制作镜像$docker build -t eohiiothub.# 查询镜像$docker images# ...启动docker run -d -p 8089:8089eohiiothub Dockerfile /* FROM microsoft/dotnet:2.1-aspnetcore-runtime MAINTAINER yishi.che...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 406,152
精华内容 162,460
关键字:

创建并启动一个容器