docker-compose教程
Docker Compose 教程
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过 Docker Compose,你可以使用 YAML 文件来配置应用程序中的所有服务,然后使用 docker-compose 命令来启动和管理这些服务。
以下是 Docker Compose 的基础使用教程,包括安装、配置和运行简单的应用。
安装 Docker Compose
在使用 Docker Compose 之前,你需要确保系统上已经安装了 Docker 和 Docker Compose。
安装 Docker
如果你还没有安装 Docker,可以根据你的操作系统下载并安装:
安装 Docker Compose
Linux 安装 Docker Compose:
执行以下命令来安装 Docker Compose:
1
2sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r .tag_name)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeWindows/Mac:
对于 Windows 和 macOS,Docker Desktop 已经包含了 Docker Compose,因此无需单独安装。
验证安装:
安装完成后,运行以下命令确认 Docker Compose 已正确安装:
1
docker-compose --version
你应该能看到 Docker Compose 的版本信息。
创建 Docker Compose 文件
Docker Compose 使用一个名为 docker-compose.yml 的文件来定义服务、网络和数据卷等配置。这个文件是 YAML 格式的,你可以通过它来定义整个应用程序的构成。
创建一个基本的 docker-compose.yml 文件
假设你要创建一个简单的应用,包含两个服务:一个 Web 服务和一个数据库服务。以下是一个基本的 docker-compose.yml 文件示例:
1 | version: '3.8' # Docker Compose 的版本 |
version:指定 Docker Compose 文件的版本。services:定义应用程序中的服务。每个服务都是一个独立的容器。web服务使用nginx镜像并映射端口 8080 和 80。db服务使用mysql镜像,并设置环境变量来配置 MySQL。volumes:指定数据卷,用于持久化存储数据库数据。networks:定义服务之间的网络。
启动服务
在 docker-compose.yml 文件所在的目录中打开终端,执行以下命令来启动所有服务:
1 | docker-compose up |
这个命令会拉取所需的镜像,创建并启动容器。你会看到 Docker Compose 输出每个服务的日志信息。
如果你只想在后台运行服务(即以守护进程方式运行),可以使用
-d参数:1
docker-compose up -d
查看和管理服务
查看运行中的服务
你可以使用以下命令来查看所有正在运行的容器:
1 | docker-compose ps |
这将列出所有由 Docker Compose 启动的服务及其容器信息。
查看日志
如果你想查看某个服务的日志,可以使用:
1 | docker-compose logs web |
这将显示 web 服务的日志。你也可以使用 -f 参数实时跟踪日志:
1 | docker-compose logs -f |
停止服务
要停止运行中的服务,你可以使用:
1 | docker-compose down |
该命令会停止并删除所有服务容器、网络和卷,但不会删除镜像。
如果你只想停止容器而不删除它们,可以使用:
1 | docker-compose stop |
重新启动服务
如果你需要重新启动所有服务,可以运行:
1 | docker-compose restart |
使用构建镜像
如果你在 docker-compose.yml 文件中使用了 build 来构建自己的镜像,可以执行以下命令来构建并启动服务:
1 | docker-compose up --build |
此命令会强制重新构建服务镜像并启动服务。
常见 Docker Compose 命令
docker-compose up:启动服务。docker-compose up -d:以后台模式启动服务。docker-compose ps:查看服务状态。docker-compose logs:查看服务日志。docker-compose down:停止并删除容器、网络和卷。docker-compose stop:停止服务。docker-compose restart:重启服务。docker-compose build:构建服务镜像。
清理 Docker Compose 资源
当你不再需要 Docker Compose 创建的服务时,可以运行以下命令清理资源:
删除所有容器、网络和卷:
1
docker-compose down --volumes
只删除容器和网络:
1
docker-compose down
删除未使用的镜像和卷:
1
docker system prune
总结
Docker Compose 是一个强大的工具,能够帮助你轻松管理多容器应用。在 Docker Compose 中,你只需配置一个 docker-compose.yml 文件,就能轻松启动、停止和管理应用程序中的多个服务。你可以通过以下几个步骤来使用 Docker Compose:
- 创建并配置
docker-compose.yml文件。 - 使用
docker-compose up启动服务。 - 使用
docker-compose ps查看服务状态。 - 使用
docker-compose down停止并删除服务。
通过 Docker Compose,你可以在本地快速搭建和管理多容器的应用程序,极大简化了开发和部署流程。