Compose專案是Docker官方的開源專案,負責實作對基于Docker容器的多容器應用服務的快速編排,
Compose專案由python撰寫,呼叫了Docker提供的API來對容器進行管理,
代碼在:https://github.com/docker/compose上開源,
Compose常見概念:
- 任務(task):一個容器被稱為一個任務,擁有獨一無二的ID,
- 服務(service):相同應用鏡像的副本集合,一個服務可以橫向擴展多個容器實體,
- 服務堆疊(stack):由多個服務組成,相互配合完成特定業務,
Compose安裝部署:
compose安裝之前,如果沒有docker引擎的話要先裝docker,
- 通過pip方式安裝compose專案,需要提前安裝pip工具
pip install -U docker-compose
- 通過二進制包安裝docker-compose專案(本文使用的也是二進制包方式)
curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#安裝后可查看版本
docker-compose version
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
- 通過容器方式安裝
curl -L https://github.com/docker/compose/releases/download/1.29.2/run.sh >/usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
- 輸入
docker-compose -h可以查看docker-compose的使用
Commands:
build Build or rebuild services
config Validate and view the Compose file
create Create services
down Stop and remove resources
events Receive real time events from containers
exec Execute a command in a running container
help Get help on a command
images List images
kill Kill containers
logs View output from containers
pause Pause services
port Print the public port for a port binding
ps List containers
pull Pull service images
push Push service images
restart Restart services
rm Remove stopped containers
run Run a one-off command
scale Set number of containers for a service
start Start services
stop Stop services
top Display the running processes
unpause Unpause services
up Create and start containers
version Show version information and quit
Compose模板檔案:
- 默認的模板檔案為:docker-compose.yaml,格式為YAML,目前版本為v3
version: '3'
- 命令大概可分為service、network、volumes三部分
- 常用命令:
build:指定dockerfile所在檔案夾路徑
image:指定鏡像名稱或ID
restart:指定重啟策略
networks:所加入的網路
volumes:資料卷所掛載路徑
labels:為容器添加docker元資料資訊
links:鏈接到其他服務中的容器
ports:暴露埠資訊
environment:設定環境變數
depends_on:指定多個服務間依賴關系
dns:自定義dns服務器
command:覆寫容器啟動后默認執行命令
container_name:指定容器名稱
,,, ,,,
Compose實用案例:
要下班了,不寫新的了,先用一下之前部署的一個zabbix系統吧,
通過docker-compose一鍵部署zabbix監控系統
嗯,有時間我會在這里加一個案例!
撒花,撒花,撒花!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/291043.html
標籤:python
