当前位置 博文首页 > <|| 2019-05-12_小小之食人魔:使用docker-compose构建ng

    <|| 2019-05-12_小小之食人魔:使用docker-compose构建ng

    作者:[db:作者] 时间:2021-08-04 21:44

    实验环境centos7、docker私有仓库
    主机地址192.168.200.104(又是负载均衡)

    首先编写docker-compose.yml文件

    [root@server ~]# mkdir docker-compose
    [root@server ~]# vi docker-compose/docker-compose.yml 
    version: "2"(docker-compose版本)
    services: 
        nginx: (容器名字)
          image: nginx:latest (镜像名字)
          ports: 
           - "8181:80"
        centos_http:
          build: .
          ports:
           - "9191:80"
          tty: true(打开虚拟终端,防止容器退出)
        tomcat:
          image: tomcat:latest
          ports:
           - "9292:8080"
    

    要构建centos_http镜像,所以编写dockerfile:

    [root@server ~]# cat docker-compose/dockerfile 
    FROM 192.168.200.104:5000/centos:latest
    MAINTAINER xiandian
    RUN rm -rf /etc/yum.repos.d/*
    ADD docker.repo /etc/yum.repos.d/
    RUN yum -y install httpd
    EXPOSE 80
    别忘了yum源:
    [root@server ~]# cat docker-compose/docker.repo 
    [centos]
    name=centos
    baseurl=ftp://192.168.100.10/centos
    gpgcheck=0
    enabled=1
    

    构建镜像:
    (如果容器组里有构建镜像的容器,要先建立镜像)

    [root@server docker-compose]# docker-compose build
    nginx uses an image, skipping
    Building centos_http
    Step 1 : FROM 192.168.200.104:5000/centos:latest
     ---> ff426288ea90
    Step 2 : MAINTAINER xiandian
     ---> Running in fdc344559cc1
     ---> 776f32702ee7
    Removing intermediate container fdc344559cc1
    Step 3 : RUN rm -rf /etc/yum.repos.d/*
     ---> Running in 8ada479b623c
     ---> 654ff7146b04
    ......
    Step 6 : EXPOSE 80
     ---> Running in 9995addd821b
     ---> d167d0ceb1c9
    Removing intermediate container 9995addd821b
    Successfully built d167d0ceb1c9
    tomcat uses an image, skipping
    

    运行容器组:

    [root@server docker-compose]# docker-compose up
    Creating dockercompose_nginx_1
    Creating dockercompose_centos_http_1
    Creating dockercompose_tomcat_1
    Attaching to dockercompose_nginx_1, dockercompose_centos_http_1, dockercompose_tomcat_1...
    

    验证时我打开了另一个终端(因为docker-compose up霸占了当前终端):

    [root@server docker-compose]# docker-compose ps
          Name               Command              State               Ports       
    -----------------------------------------------------------------------------
    dockercompose_cen   /bin/bash           Up                  0.0.0.0:9191->80/ 
    tos_http_1                                                  tcp               
    dockercompose_ngi   nginx -g daemon     Up                  0.0.0.0:8181->80/ 
    nx_1                off;                                    tcp               
    dockercompose_tom   catalina.sh run     Up                  0.0.0.0:9292->808 
    cat_1                                                       0/tcp             
    

    接下来要配置nginx容器的配置文件和启动http容器tomcat容器内的web服务,完成后就ok啦。

    cs