赞
踩
实验环境
docker-compose是一个Python项目。 最初有一个名叫fig的Python项目能够解析 fig.yml——>启动docker 容器堆栈,作用在Docker引擎的顶层。在内部,它使用Docker API根据规范启动容器,仍然必须单独安装docker-compose工具包才能将其与Docker一起使用。
Swarm模式已经在1.12中集成到Docker Engine中,可以在不安装Docker Compose的情况下启动docker 容器堆栈(docker stack 是docker swarm的一部分)。docker stack 支持与docker-compose 相似能力, 但是在Docker引擎内Go语言环境中运行的, 在使用docker stack命令之前你还必须创建一个swarm机器。
docker stack 不支持版本2规范编写的compose.yml文件,必须使用最新的V3 版本。docker-compose工具依然可以处理版本2,3。
docker stack把docker compose的所有工作都做完了,因此docker stack将占主导地位。
相同点:
不同点:
基于 Docker Swarm 之上来完成应用的部署,面向大规模场景下的多服务部署和管理。
(1)编辑compose文件:vim docker-compose.yml
version: "3.9" services: web: image: myapp:v1 networks: - mynet deploy: replicas: 2 update_config: parallelism: 2 delay: 10s restart_policy: condition: on-failure visualizer: image: visualizer:latest ports: - "8080:8080" stop_grace_period: 1m30s volumes: - "/var/run/docker.sock:/var/run/docker.sock" deploy: placement: constraints: - "node.role==manager" networks: mynet:
(2)部署stack:docker stack deploy -c docker-compose.yml my_cluster
docker service ls
docker stack ps my_cluster
vim docker-compose.yml
web:
image: myapp:v1
networks:
- mynet
deploy:
replicas: 6 ##修改任务的个数
update_config:
parallelism: 2
delay: 10s
restart_policy:
condition: on-failure
docker stack deploy -c docker-compose.yml my_cluster
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。