version: '2' services: MyService: image: my_image:tag container_name: xxx hostname: yyy restart: always env_file: .env environment: - key=val ports: - 'xxx:yyy' volumes: - xxx:yyy links: - OtherService
docker-compose --version docker-compose 【-f docker-compose.yaml】 up -d 【ServiceName】 docker-compose ps # 查看compose啓動的容器 docker-compose down
集羣服務部署,必須在ManageNode上操做node
#部署服務 docker service create --name 服務名稱 #同一網絡內不一樣服務可經過服務名互訪 --mode replicated|global --network 集羣網絡 #要求overlay網絡 --replicas 副本數 -p 端口:端口 --mount type=bind,src=源路徑,dst=目標路徑 鏡像名稱 command #滾動更新服務 docker service update --update-parallelism 並行更新節點數 --update-delay 更新間隔秒數 --limit-cpu 0.25 #限額cpu比例 --reserve-cpu 0.1 #預留cpu比例 --image 鏡像名稱 服務名稱 docker service ls #服務列表 docker service ps 服務名稱 #羅列服務下的task(服務包含的容器節點稱做task) docker service inspect --pretty 服務名稱 #監控指定服務 docker service scale 服務名稱=節點數 #服務伸縮 docker service rm 服務名稱 #服務下線
Docker 1.13開始支持v3 compose語法docker
version: '3' services: MyService: image: my_image:tag container_name: xxx hostname: yyy restart: always env_file: .env environment: - key=val deploy: replicas: 5 #service啓用副本數 resources: limits: cpus: 0.1 #每一個節點cpu資源佔比 memory: 50M #每一個節點內存資源限額 restart_policy: condition: on-failure placement: constraints: [node.role == manager] ports: - 'xxx:yyy' networks: - MyNetwork #service使用的負載均衡網絡(要求overlay網絡) volumes: - xxx:yyy depends_on: - OtherService networks: #網絡自動負載均衡 MyNetwork:
docker stack deploy -c docker-compose.yml StackName #發佈Service Stack(每次執行都會自動熱更新stack) docker stack services StackName #羅列stack下的service docker stack ps StackName #羅列stack下的task docker service ls #服務列表 docker service ps 服務名稱 #羅列服務下的task(服務包含的容器節點稱做task) docker stack rm StackName #下線Service Stack