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