docker并且docker-compose似乎正在与同一个dockerFile进行交互,这两个工具之间有什么区别?
docker
docker-compose
在docker一个码头工人的发动机管理单个容器时,CLI使用。这是访问docker daemon api的客户端命令行。
该docker-composeCLI可以用于管理多容器应用程序。它还会将您在docker runcli 上输入的许多选项移到docker- compose.yml文件中,以方便重用。它在与所使用的同一docker api上充当前端“脚本” docker,因此您可以docker- compose使用docker命令和许多shell脚本来完成所有工作。有关更多详细信息,请参阅docker- compose上的此文档。
docker run
docker- compose.yml
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。两种用途之间的映射是一对一的:
docker stack deploy -c docker- compose.yml $stack_name
docker-compose up
有关swarm模式的更多详细信息,请参阅docker的swarm模式文档。