在 CentOS 8 上安装和使用 Docker Compose
在此页
- 要求
- 安装 Docker
- 安装 Docker Compose
- 使用 Docker Compose 部署 Drupal
- 使用 Docker Compose
- 结论
Docker Compose 是一种工具,可用于将多个容器定义和运行为单个服务。使用 Docker Compose,您可以链接多个容器并通过单个命令部署应用程序。它主要用于开发、测试和登台环境。 Docker Compose 使用 YAML 文件在文件中定义复杂的堆栈并使用单个命令运行它。
在本教程中,我们将向您展示如何在 CentOS 8 中安装和使用 Docker Compose。
要求
- 一台运行 CentOS 8 的服务器。
- 在服务器上配置了根密码。
安装 Docker
在开始之前,请确保您的服务器上安装了 Docker。如果未安装,则需要将 Docker-CE 存储库添加到系统中。您可以使用以下命令添加它:
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
添加存储库后,使用以下命令安装最新版本的 docker:
dnf install docker-ce --nobest -y
systemctl start docker
systemctl enable docker
您可以使用以下命令验证 docker 版本:
docker --version
您应该看到以下输出:
Docker version 19.03.5, build 633a0ea
安装 Docker 组合
默认情况下,Docker Compose 在 CentOS 8 默认存储库中不可用。因此,您需要从 Git 存储库下载它。
首先,使用以下命令安装 curl 命令:
dnf install curl -y
接下来,使用 curl 从 Git 存储库下载最新版本的 Docker Compose,如下所示:
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
下载完成后,使用以下命令使下载的二进制文件可执行:
chmod +x /usr/local/bin/docker-compose
接下来,您可以使用以下命令验证 Compose 版本:
docker-compose --version
您应该看到以下输出:
docker-compose version 1.25.0, build 0a186604
您可以使用以下命令查看 docker-compose 可用的所有选项:
docker-compose --help
您应该会看到以下页面:

使用 Docker Compose 部署 Drupal
在本节中,我们将向您展示如何使用 Docker Compose 安装 Drupal。
首先,使用以下命令为您的 drupal 创建一个目录:
mkdir drupal
接下来,在 drupal 目录中创建一个 drupal.yaml 文件:
nano drupal/docker-compose.yaml
添加以下内容:
version: '3.3'
services:
drupal:
image: drupal:latest
ports:
- 80:80
volumes:
- drupal_modules:/var/www/html/modules
- drupal_profiles:/var/www/html/profiles
- drupal_themes:/var/www/html/themes
- drupal_sites:/var/www/html/sites
restart: always
postgres:
image: postgres:10
environment:
POSTGRES_PASSWORD: your_postgres_password
volumes:
- db_data:/var/lib/postgresql/data
restart: always
volumes:
drupal_modules:
drupal_profiles:
drupal_themes:
drupal_sites:
db_data:
完成后保存并关闭文件。接下来,将目录更改为 drupal 并使用以下命令启动 Docker 容器:
cd drupal
docker-compose up -d
上面的命令将下载并运行 drupal 和 postgresql 容器。
您可以使用以下命令检查正在运行的容器:
docker-compose ps
您应该看到以下输出:
Name Command State Ports
-------------------------------------------------------------------------------
drupal_drupal_1 docker-php-entrypoint apac ... Up 0.0.0.0:80->80/tcp
drupal_postgres_1 docker-entrypoint.sh postgres Up 5432/tcp
现在,您可以访问 URL http://your-server-ip 来访问 Drupal web 安装向导,如下所示:

使用 Docker 组合
在本节中,我们将向您展示如何使用 docker-compose 命令。
要停止 Docker Compose 服务,请在 drupal 目录中运行以下命令:
docker-compose stop
您应该看到以下输出:
Stopping drupal_drupal_1 ... done
Stopping drupal_postgres_1 ... done
要启动 Docker Compose 服务,请在 drupal 目录中运行以下命令:
docker-compose start
要查看容器的日志,请运行以下命令:
docker-compose logs
要查看特定容器的日志,请运行以下命令:
docker-compose logs drupal
您可以使用以下命令查看您的配置文件:
docker-compose config
要暂停和取消暂停容器,请运行以下命令:
docker-compose pause
输出:
Pausing drupal_postgres_1 ... done
Pausing drupal_drupal_1 ... done
docker-compose unpause
输出:
Unpausing drupal_drupal_1 ... done
Unpausing drupal_postgres_1 ... done
要删除所有容器,请运行以下命令:
docker-compose down
您应该看到以下输出:
Stopping drupal_drupal_1 ... done
Stopping drupal_postgres_1 ... done
Removing drupal_drupal_1 ... done
Removing drupal_postgres_1 ... done
Removing network drupal_default
您还可以使用以下命令删除数据卷:
docker-compose down --volumes
您应该看到以下输出:
Removing network drupal_default
WARNING: Network drupal_default not found.
Removing volume drupal_drupal_modules
Removing volume drupal_drupal_profiles
Removing volume drupal_drupal_themes
Removing volume drupal_drupal_sites
Removing volume drupal_db_data
结论
在上面的教程中,我们学习了如何在 CentOS 8 中安装和使用 Docker Compose。希望您对如何使用 Docker Compose 命令管理 Docker 容器有足够的了解。