美文网首页
Docker Compose

Docker Compose

作者: 陈超Terry的技术屋 | 来源:发表于2019-07-30 11:20 被阅读0次

    概述

        Compose在一台宿主机器上,编排Docker。

         Swarm可以在多台机器上,编排Docker。

         Compose主要是编写docker-compose.yml对服务(容器)进行管理(构建、启动、关闭、重启等)。

    启动顺序的控制

         1、depends_on 解决启动服务启动的顺序

        2、如果一个服务A的启动时间较长,依赖A的服务B:在启动的时候(entrypoint),用脚步wait-it-for判断服务A启动了,才启动自身服务

    version: "3"

    services:

      mysql:

        image: mysql:5.6

        ports:

          - "3306:3306"

        environment:

          - MYSQL_ROOT_PASSWORD=jgyw@123

          - MYSQL_USER=cs2

          - MYSQL_PASS=cs2123

        volumes:

          - ./db/mysql:/var/lib/mysql

          - ./db/init:/docker-entrypoint-initdb.d/

      cs2_serv:

        image: cs2_serv:v1

        ports:

          - "81:81"

        environment:

          - SERV_PORT=81

          - MYSQL_IP=mysql

          - MYSQL_PORT=3306

          - DB_USERNAME=root

          - DB_PASSWORD=jgyw@123

        links:

          - mysql

        volumes:

          - ./wait-for-it.sh:/wait-for-it.sh

        entrypoint: "/wait-for-it.sh -t 0 mysql:3306 -- "

        command:

          - /bin/sh

          - -c

          - |

            sleep 10

            java -Djava.security.egd=file:/dev/./urandom -jar /app.jar

        下面这句话的意思是:mysql启动后,才执行command的命令。

        entrypoint: "/wait-for-it.sh -t 0 mysql:3306 -- "

        command:

          - /bin/sh

          - -c

          - |

            sleep 10

            java -Djava.security.egd=file:/dev/./urandom -jar /app.jar

        wait-for-it.sh的脚本,参见gitHub,

    相关文章

      网友评论

          本文标题:Docker Compose

          本文链接:https://www.haomeiwen.com/subject/srbilctx.html