docker
和 docker-compose
好像是在和同一个dockerFile交互,这两个工具有什么区别?
原文由 Hafiz 发布,翻译遵循 CC BY-SA 4.0 许可协议
docker
和 docker-compose
好像是在和同一个dockerFile交互,这两个工具有什么区别?
原文由 Hafiz 发布,翻译遵循 CC BY-SA 4.0 许可协议
docker
管理单个容器
docker-compose
管理多个容器应用
使用 docker-compose 需要 3 个步骤:
docker-compose up
启动并运行应用程序下面是取自 docker docs 的 docker-compose.yml 示例:
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
原文由 JSON C11 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答2.4k 阅读✓ 已解决
2 回答771 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
1 回答1.6k 阅读
2 回答1.2k 阅读
1 回答943 阅读
docker
cli 用于管理 docker 引擎上的单个容器。它是访问 docker daemon api 的客户端命令行。docker-compose
cli 可用于管理多容器应用程序。它还将您在docker run
cli 中输入的许多选项移动到docker-compose.yml
文件中,以便于重用。它在docker
使用的同一 docker api 之上作为前端“脚本”,所以你可以做任何事情docker-compose
使用docker
很多shell脚本。有关更多详细信息,请参阅 docker-compose 上的此文档。群模式更新
自发布此答案以来,docker 添加了对 docker-compose.yml 文件的第二次使用。从 版本 3 yml 格式 和 docker 1.13 开始,您可以将 yml 与 docker-compose 一起使用,也可以在 docker 的 swarm 模式下定义堆栈。 To do the latter you need to use
docker stack deploy -c docker-compose.yml $stack_name
instead ofdocker-compose up
and then manage the stack withdocker
commands instead ofdocker-compose
commands.映射在两种用途之间是一对一的:有关 swarm 模式的更多详细信息,请参阅 docker 的 swarm mode 文档。