跳到主要内容

Docker Compose命令行

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个简单的 YAML 文件(通常命名为 docker-compose.yml),你可以配置应用程序的服务、网络和卷。Docker Compose 命令行工具则允许你通过命令来管理这些配置。

什么是 Docker Compose 命令行?

Docker Compose 命令行工具提供了一系列命令,用于管理由 docker-compose.yml 文件定义的多容器应用程序。你可以使用这些命令来启动、停止、重建、查看日志等操作。

安装 Docker Compose

在开始使用 Docker Compose 命令行之前,你需要确保已经安装了 Docker 和 Docker Compose。你可以通过以下命令检查是否已安装:

bash
docker --version
docker-compose --version

如果未安装,请参考 Docker 官方文档 进行安装。

常用 Docker Compose 命令

以下是一些常用的 Docker Compose 命令行操作:

1. 启动服务

使用 docker-compose up 命令启动定义在 docker-compose.yml 文件中的所有服务。

bash
docker-compose up

如果你想在后台运行服务,可以添加 -d 选项:

bash
docker-compose up -d

2. 停止服务

使用 docker-compose down 命令停止并移除所有容器、网络和卷。

bash
docker-compose down

3. 查看服务状态

使用 docker-compose ps 命令查看当前运行的服务状态。

bash
docker-compose ps

4. 查看日志

使用 docker-compose logs 命令查看服务的日志输出。

bash
docker-compose logs

你可以通过指定服务名称来查看特定服务的日志:

bash
docker-compose logs web

5. 重建服务

如果你修改了 Dockerfiledocker-compose.yml 文件,可以使用 docker-compose up --build 命令重新构建并启动服务。

bash
docker-compose up --build

6. 执行命令

使用 docker-compose exec 命令在运行中的容器内执行命令。

bash
docker-compose exec web bash

实际案例

假设你有一个简单的 web 应用程序,包含一个 web 服务和一个数据库服务。以下是一个 docker-compose.yml 文件的示例:

yaml
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example

启动服务

bash
docker-compose up -d

查看服务状态

bash
docker-compose ps

查看 web 服务日志

bash
docker-compose logs web

停止服务

bash
docker-compose down

总结

Docker Compose 命令行工具是管理多容器 Docker 应用程序的强大工具。通过本文,你已经学习了如何使用常用命令来启动、停止、查看日志和管理服务。希望这些知识能帮助你在实际项目中更好地使用 Docker Compose。

附加资源

练习

  1. 创建一个简单的 docker-compose.yml 文件,包含一个 web 服务和一个数据库服务。
  2. 使用 docker-compose up 命令启动服务,并使用 docker-compose ps 查看服务状态。
  3. 修改 docker-compose.yml 文件,添加一个新的服务,并使用 docker-compose up --build 重新构建并启动服务。