首頁 > 軟體

Docker-compose 編排工具安裝

2020-06-16 16:33:30

介紹

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


IT145.com E-mail:sddin#qq.com