Docker-compose 编排工具安装

介绍

Compose 是一个定义和管理多容器的工具,使用Python语言编写,使用Compose配置文件描述多个容器应用的架构,比如什么镜像,数据卷,网络,映射端口等;然后一条命令管理所有服务,比如启动,停止,重启等。

YAML文件格式及编写注意事项
YAML是一种标记语言很直观的数据序列化格式,可读性高,类似于XML数据描述语言,语法比XML简单的很多。
YAML数据结构通过缩进来表示,连续的项目通过减号来表示,键值对用冒号分隔,数组用中括号括起来,hash用花括号括起来。

YAML文件格式注意事项:
1.不支持制表符tab键缩进,需要使用空格缩进
2.通常开头缩进2个空格
3.字符后缩进1个空格,如冒号,逗号,横杆
4.用井号注释
5.如果包含特殊字符用单引号引起来
6.布尔值(true,false,yes,no,on,off) 必须用引号括起来,这样分析器会将他们解释为字符串

下载 docker-compose
mkdir /home/tools -p

# docker compose 1.18.0 的 SHA-256 sum 值:
# b2f2c3834107f526b1d9cc8d8e0bdd132c6f1495b036a32cbc61b5288d2e2a01 

cd /home/tools
curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

sha256sum /usr/local/bin/docker-compose

# 与上面的 SHA-256 sum 值进行比较确认命令是否完整

# 赋予执行权限
chmod +x /usr/local/bin/docker-compose

# 查看版本号:
docker-compose --version

常用命名
# 运行,默认使用当前目录下的 docker-compose.yml
docker-compose up

# 如果不使用默认的 yml ,可以使用 -f 指定, -d 在后台运行
docker-compose -f test.yml up -d

# 查看容器运行状态,只支持当前目录下的 docker-compose.yml 文件
docker-compose ps

# 重启所有容器,只支持当前目录下的 docker-compose.yml 文件
docker-compose restart

# 重启App1
docker-compose restart App1 

# 停止所有容器,只支持当前目录下的 docker-compose.yml 文件
docker-compose stop

# 停止App1
docker-compose stop App1 

举个例子:
cat docker-compose.yml

version: '3.4'
services:
  flash-sale:            # 注意这里不能使用 _ 线命名,在Java中需转义
    image: ${IMAGE_NAME}  # image 从 当前文件夹中的 .env 文件中获取
    env_file:
      - .env
    environment:
      - JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5006 #启动调试端口
    ports:
      - 5006:5006 #暴露调试端口
    extra_hosts:
      - "www.klvchen.com:192.168.0.66"  # 添加 hosts 记录
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/actuator/health"]
      interval: 1m30s
      timeout: 10s
      retries: 3
      start_period: 30s
    networks:
      - backend

networks:
  backend:
    external:
      name: backend

-----

cat .env

IMAGE_NAME=flash-sale:2018-07-31_21-33

相关推荐