一尘不染

docker和docker-compose有什么区别

docker

docker并且docker-compose似乎正在与同一个dockerFile进行交互,这两个工具之间有什么区别?


阅读 915

收藏
2020-06-17

共1个答案

一尘不染

docker一个码头工人的发动机管理单个容器时,CLI使用。这是访问docker daemon api的客户端命令行。

docker-composeCLI可以用于管理多容器应用程序。它还会将您在docker runcli 上输入的许多选项移到docker- compose.yml文件中,以方便重用。它在与所使用的同一docker api上充当前端“脚本” docker,因此您可以docker- compose使用docker命令和许多shell脚本来完成所有工作。有关更多详细信息,请参阅docker-
compose上的此文档


群更新

自发布此答案以来,docker已添加了docker-
compose.yml文件的第二种用法。从版本3的yml格式和docker 1.13开始,您可以将yml与docker-
compose一起使用,还可以在docker的swarm模式下定义堆栈。为此,您需要使用docker stack deploy -c docker- compose.yml $stack_name而不是,docker-compose up然后使用docker命令而不是命令来管理堆栈docker-compose。两种用途之间的映射是一对一的:

  • Compose Project-> Swarm Stack:针对特定目的的一组服务
  • Compose Service-> Swarm Service:一张图像及其配置,可能会放大。
  • 撰写容器->群集任务:服务中的单个容器

有关swarm模式的更多详细信息,请参阅docker的swarm模式文档

2020-06-17