docker vs docker-compose 解密

1,354 阅读2分钟

「这是我参与11月更文挑战的第24天,活动详情查看:2021最后一次更文挑战

目录

  • 前言
  • 正文
    • docker
    • docker-compose
    • 二者的区别
    • 二者的联系
  • 结尾

前言

玩容器部署的小伙伴一定对 docker 和 docker-compose 非常了解,但是二者有哪些明显的区别和联系呢?你又是不是知道的很清楚呢?今天我们就来解密一二。

正文

docker

docker 一般从概念上理解就是指容器化技术,可以用来创建和使用 Linux 的容器。借助 docker,可将容器当做轻巧、模块化的虚拟机使用。同时具备一定的灵活性,从而非常高效的实现对容器的创建、部署、复制和迁移。

docker-compose

docker-compose 本身是一个基于 docker 的开源项目,一般用来管理容器服务,通过调用 docker 服务的 API 实现对 docker 容器集群的快速编排。具体的实现方式是通过一个 yaml 配置文件,在其中定义一组相关的容器服务。

二者的区别

启动命令适用范围是否必须有配置文件依赖关系难易程度
dockerdocker run 参数单一容器服务不必须复杂
docker-composedocker-compose up -d一组容器服务必须依赖 docker简单

还有一点需要特别注意,那就是在修改了容器代码,使用 docker-compose restart 命令是不会生效的,需要先 docker-compose stop,再执行 docker-compose start 才可以。但是,如果修改了 docker-compose.yaml 配置文件,使用 docker-compose restart 命令配置是生效的。 但是,如果使用 docker restart 命令,容器内修改的代码和配置会立即生效,不需要先停止再启动。

二者的联系

如果想要使用 docker-compose 和 docker 命令,二者都是需要进行安装的。docker 本身其实已经满足了对容器服务的基本操作和管理,docker-compose 的出现只是在一定程度上简化了 docker 服务的管理,本质上还是要依赖 docker 命令,也就是 docker 的接口 API。docker 命令可以单独使用,如果需要使用 docker-compose 命令,就需要先安装 docker。

结尾

docker 和 docker-compose 在容器化服务管理方面是非常优秀的工具集,最好两种方式都掌握,这样可以深入理解容器服务部署和管理的内在原理。好了,今天的内容就介绍这么多。

作者简介:大家好,我是 liuzhen007,是一位音视频技术爱好者,同时也是CSDN博客专家、华为云社区云享专家、签约作者,欢迎关注我分享更多干货!