加餐|docker-compose:单机环境下的容器编排工具
- 深入了解
- 翻译
- 解释
- 总结
Docker-compose是一个轻量级的容器编排工具,填补了Docker和Kubernetes之间的空白位置。它使用YAML来定义容器的启动参数、先后顺序和依赖关系,让用户不再有Docker冗长命令行的烦恼,第一次见识到了“声明式”的威力。相比于Kubernetes,docker-compose的学习难度较低,上手容易,很多概念都是与Docker命令一一对应的。docker-compose的核心概念是“service”,它与Kubernetes里的 `Service` 虽然名字很像,但却是完全不同的东西。docker-compose在单机环境里能够快速启动一组容器来执行简单的开发、测试工作,同时避免了Kubernetes的复杂性和成本,是一个轻量级且适合不同场景下使用的容器编排工具。文章通过一个私有镜像仓库Registry的YAML文件示例,展示了docker-compose的使用方法,包括安装、编写YAML文件、管理容器、启动应用、停止应用等操作。此外,文章还通过搭建WordPress网站的实例深入演示了docker-compose的使用,展示了它的便利之处,如定义容器的依赖关系、网络标识等。尽管docker-compose在功能上有一定的局限性,但它在简单应用场景下的便捷性和实用性使其成为一个有用的工具。
《Kubernetes 入门实战课》,新⼈⾸单¥59
全部留言(12)
- 最新
- 精选
- Bachue Zhou相比于 kubernetes,docker-compose 不就是大道至简吗?
作者回复: 能力太弱,怎么管理成百上千的集群?
2022-11-18归属地:北京4 - 青储这个可以用在小型公司生产线上吗?
作者回复: 当然可以,它其实就是对docker的一个易用性包装。
2022-08-15归属地:北京4 - onemaodocker compose对开发来说最大的作用就是本地快速拥有数据库,消息中间件等等,无需单独安装,随时用随时删除。而且只要写好文件放到repo,idea中点一下可以一键运行和初始化,也极大方便本地开发与本地集成测试。
作者回复: 是的,对于开发测试来说非常方便,可以说是必备的。
2022-08-26归属地:北京3 - 奕docker-compose 的默认配置文件名称为: docker-compose.yml -f, --file FILE Specify an alternate compose file (default: docker-compose.yml) 2.
作者回复: 1.x docker-comose的默认文件是docker-compose.yml,2.x后默认文件也可以使用compose.yml。
2022-08-18归属地:北京2 - peter请教老师几个问题: Q1:docker-compose只能用在单机环境,不能用在集群吗? Q2:文中创建的第一个docker是干什么用的? 文中用了这个命令“docker run -d -p 5000:5000 registry”,请问创建这个有什么用? 是不是这样:用“docker run -d -p 5000:5000 registry”可以启动一个容器。用yaml文件,用“docker-compose -f reg-compose.yml up -d”,也可以达到同样的目的。 Q3:需要先搭建一个本地registry吗? 执行“docker push 127.0.0.1:5000/nginx:v1”后报错: The push refers to repository [127.0.0.1:5000/nginx] Get "http://127.0.0.1:5000/v2/": dial tcp 127.0.0.1:5000: connect: connection refused 突然感觉Q2中创建的应用就是本地registry,对吗?
作者回复: 1.docker-compose和docker一样,只能是单机运行,就是对docker的包装。 2.第一个docker命令是和docker-compose对比用的。 3.是的,就是先用docker-compose运行了一个Registry,然后测试验证docker push。
2022-08-16归属地:北京2 - Maxdocker-compose转写成k8s yaml有什么建议吗? 尝试使用了kompose convert工具,发现还是有很多配置无法覆盖到,比如env的引入方式就不一样。
作者回复: 毕竟两者的理念差距太大,虽然都是YAML ,但也不是能够一一对应的,需要正确理解后改成kubernetes的格式。
2023-03-08归属地:内蒙古21 - Demon.Lee原来 docker-compose 从 v1.27 版本开始将 version 字段给“干掉”了,再也不用理会 version: "3",version: "3.9",version: "2" 了 😂 。 为啥我之前没觉得这玩意有点反人类呢?嗯,缺少批判性思维。
作者回复: 其实我觉得加version也算是个合理的决定,但后来可能是觉得带来的麻烦更多,就给去掉了。
2022-12-01归属地:上海1 - YueShiapt install docker-compose 为docker-compose version 1.29.2, build unknown 不是最新版的
作者回复: 从GitHub项目里直接下载二进制文件。
2022-08-15归属地:北京1 - Sports如果安装成docker compose plugin的形式,即没有中间的横线,harbor安装会有问题,因为检测不到docke-compose😂
作者回复: 所以一般还是用传统的docker-compose的形式,和1.x兼容。
2022-08-15归属地:北京21 - 党我说怎么安装docker-compose教程差异那么大 有的要下载python 有的直接下来个可执行文件
作者回复: 现在应该都用Go版本的。
2024-03-10归属地:河北