目录
什么是 Docker Compose?
Docker Compose 的安装
Docker Compose 的使用
编写 Docker Compose 文件
启动 Docker Compose
停止 Docker Compose
其他常用命令
总结
什么是 Docker Compose?
Docker Compose 是 Docker 官方提供的一个工具,用于定义和运行多个 Docker 容器的应用。通过 Docker Compose,我们可以使用一个 YAML 文件来配置应用的服务,并通过一个命令来启动、停止、重启应用中的所有服务。
Docker Compose 的安装
Docker Compose 可以通过官方网站下载安装包进行安装,也可以通过 pip 命令进行安装。
# 通过 pip 安装 Docker Compose
pip install docker-composeDocker Compose 的使用
使用 Docker Compose,我们需要创建一个 YAML 文件来定义应用的服务,并通过 docker-compose 命令来启动、停止、重启应用中的所有服务。
编写 Docker Compose 文件
一个 Docker Compose 文件由多个服务组成,每个服务都包含以下配置项:
-
image:服务所使用的 Docker 镜像。 -
container_name:服务的容器名称。 -
ports:服务所映射的端口。 -
volumes:服务所挂载的数据卷。 -
environment:服务所需要的环境变量。
下面是一个简单的 Docker Compose 文件示例,用于启动一个 Nginx 服务和一个 Node.js 服务:
version: '3'
services:
nginx:
image: nginx:latest
container_name: nginx
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
depends_on:
- node
node:
image: node:latest
container_name: node
volumes:
- ./app:/app
environment:
- NODE_ENV=production在这个示例中,我们定义了两个服务:nginx 和 node。nginx 服务使用了 nginx:latest 镜像,并将容器名称设置为 nginx,同时将宿主机的 80 端口映射到容器的 80 端口上。nginx 服务还挂载了宿主机的 nginx.conf 文件到容器的 /etc/nginx/nginx.conf 路径下,并指定了 node 服务为其依赖项。
node 服务使用了 node:latest 镜像,并将容器名称设置为 node,同时将宿主机的 ./app 目录挂载到容器的 /app 路径下,并设置了 NODE_ENV=production 环境变量。
启动 Docker Compose
编写好 Docker Compose 文件后,我们可以使用 docker-compose up 命令来启动所有服务。
# 启动所有服务
docker-compose up在启动过程中,Docker Compose 会自动下载并启动所需的 Docker 镜像,并创建对应的容器。
停止 Docker Compose
使用 docker-compose down 命令可以停止并删除所有服务对应的容器。
# 停止并删除所有容器
docker-compose down其他常用命令
除了 up 和 down 命令外,Docker Compose 还提供了其他常用命令,如:
-
start:启动所有服务。 -
stop:停止所有服务。 -
restart:重启所有服务。 -
ps:列出所有服务对应的容器。 -
logs:查看所有服务对应的容器的日志。
更多命令可以通过 docker-compose --help 命令查看。
总结
Docker Compose 是一个非常方便的工具,可以帮助我们快速定义和管理多个 Docker 容器的应用。通过 YAML 文件的方式,我们可以清晰地定义每个服务的配置,并通过一个命令来启动、停止、重启应用中的所有服务。
















