Docker之docker-compose(介绍,安装及入门示例)【测试成功】

艺帆风顺 发布于 2025-04-03 19 次阅读


一、docker-compose介绍

Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。

Compose 定位是:定义和运行多个 Docker 容器的应用。

使用一个Dockerfile 模板文件,可以让用户很方便的定 义一个单独的应用容器。

在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。

如:要实现一个Web项目,除了Web服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。

Compose正好满足了这样的需求.它允许用户通过一个单独的docker-compose.yml 模板文件 (YAML 格式)来定义一组相关联的应用容器为一个项目(project)。

有了Compose,我们就不需要再一个个组件去写一份Dockerfile,只需要将整体环境同一起来,写在一份docker-compose.yml文件即可

Compose 中有两个重要的概念:

  • 服务 ( service ):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。

  • 项目 ( project ):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。

二、docker-compose安装

Compose的yml文件版本和docker版本对应关系如下:

图为盗图呦!!!望见谅!!!

安装docker----常规安装

根据版本,自行安装。。。。。。

三、docker-compose简单示例

使用docker-compose启动一个nginx
在/root/zhaosj_nginx下新建docker-compose.yml文件,输入如下内容:

version: "3" # 表示该docker-compose.yml文件使用的是Version 3 services: # 为project定义服务 nginx: # 指定服务名称 image: nginx # 指定服务所使用的镜像 ports: # 暴露端口信息 - 80:80

在yml文件所在的当前目录使用docker-compose up启动

[root@whdata zhaosj]# docker-compose up

谨记:

编写完毕yml文件后可在

http://www.bejson.com/validators/yaml_editor/

工具处验证

四、执行后报错整理

[root@whdata2 ~]# docker-compose up
ERROR: yaml.scanner.ScannerError: mapping values are not allowed here
in "./docker-compose.yml", line 4, column 7

执行docker中的yml命令报错时要看清楚yml文件严格的格式书写要求

要求每个冒号和每个 - 符号后面必须有一个空格

    版权声明:本文内容来自知乎:ILen,遵循CC 4.0 BY-SA版权协议上原文接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行可。原文链接:https://zhuanlan.zhihu.com/p/359868640如有涉及到侵权,请联系,将立即予以删除处理。在此特别鸣谢原作者的创作。此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。