2021-05-12 14:32:11
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
相關文章