all

docker 和 docker-compose 有什么区别

发布于 2022-04-11 13:23:21

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

关注者
0
被浏览
25
1 个回答
  • 面试哥
    面试哥 2022-04-11
    为面试而生,有面试问题,就找面试哥。

    dockerdocker 引擎上管理单个容器时使用 cli。它是访问 docker daemon api 的客户端命令行。

    cli可docker-compose用于管理多容器应用程序。它还将您在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:一个图像及其配置,可能会按比例放大。
    • Compose Container -> Swarm Task:服务中的单个容器

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



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看