如何在 Ubuntu 上安装 Docker Compose?

Docker Compose 是一款能够更轻松地在 Docker 环境中部署和管理多容器应用程序的工具。它使开发者能够将多个相互关联的容器作为一个应用栈来定义、配置和运行。Docker Compose 通过使用 YAML 文件定义所需的服务、网络和卷,简化了复杂应用程序的编排。它让复制和共享一致的开发与生产环境变得更加简单,促进了团队协作,减少了部署问题,并提升了应用程序在不同系统之间的可移植性。

在本教程中,您将学习如何在 Ubuntu 22.04 系统上安装 Docker Compose。

前提条件

在按照本指南在 Ubuntu 22.04 上安装 Docker Compose 之前,请确保满足以下要求:

  • 可访问 Ubuntu 22.04:您需要拥有 root 权限,如果是非 root 用户,则需要拥有 sudo 权限。
  • Docker:您的系统需要安装 Docker。如果尚未安装,也不用担心,我们也会指导您完成安装。
  • 防火墙注意事项:如果您使用 Docker 暴露容器端口,请注意 ufw 或 Firewalld 等防火墙管理工具可能会阻止这些端口。请确保防火墙设置允许所需端口。

分步指南:如何在 Ubuntu 22.04 上安装 Docker Compose?

您可以通过两种不同的方法在 Ubuntu 22.04 上安装 Docker Compose:

  • 从 Ubuntu apt 软件源安装 Docker Compose。
  • 通过官方 GitHub 仓库安装 Docker Compose。

在开始在 Ubuntu 上安装 Docker Compose 之前,请确保您的系统已安装 Docker。如果还没有安装,也不必担心,我们同样会介绍。让我们开始吧!

使用 Apt 软件源在 Ubuntu 上安装 Docker Compose

最便捷的方法是使用 Ubuntu apt 软件源安装 Docker Compose。为此,您需要在 Ubuntu 系统上添加 Docker 软件源。

第 1 步:安装 Docker Compose 所需的依赖项

首先,使用快捷键 ‘Ctrl + Alt + t’ 打开终端窗口。使用 ‘apt-get update’ 命令更新 Ubuntu 系统的 apt 软件源:

$ sudo apt-get update

更新完成后,安装在 Ubuntu 系统上安装 Docker 和 Docker Compose 所需的依赖项:

$ sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common

上述命令会在 Ubuntu 22.04 机器上安装所有必要的软件包,包括 ‘lsb-release’、‘ca-certificates’、‘apt-transport-https’ 和 ‘software-properties-common’。

第 2 步:将 Docker 软件源添加到 Ubuntu 源列表

要在 Ubuntu 系统上添加 Docker 软件源,您需要导入连接 Docker 软件源所需的 Docker GPG 密钥:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

导入 Docker GPG 密钥后,使用以下命令将 Docker 软件源添加到系统源列表中:

$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

第 3 步:在 Ubuntu 22.04 上安装 Docker Compose

添加 Docker 软件源后,更新所有 Ubuntu apt 软件源。

$ sudo apt update

此时,您会看到 Docker 软件源出现在源列表中。

现在,您可以使用以下命令在 Ubuntu 22.04 上安装 Docker Compose:

$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

使用以下命令验证 Docker 服务的运行状态:

$ sudo systemctl status docker

现在,检查 Docker Compose 版本:

$ docker compose version

同时检查 Docker 版本:

$ docker --version

通过官方 GitHub 仓库在 Ubuntu 上安装 Docker Compose

在安装 Docker Compose 之前,请先在发布页面查看 Docker Compose 的最新可用版本。

最新的 ‘Docker compose’ 版本是 v2.20.3。不过,我们将在系统上安装 Docker Compose 稳定版 v2.3.3。以下是通过官方 GitHub 仓库在 Ubuntu 上安装 Docker Compose 的分步指南。

第 1 步:创建目录

首先,使用 ‘mkdir’ 命令创建一个目录:

$ mkdir -p ~/.docker/cli-plugins/

第 2 步:下载 Docker Compose

现在,使用 ‘curl’ 或 ‘wget’ 命令从官方 GitHub 仓库下载 Docker Compose:

$ curl -SL https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose 

该命令会为您的系统获取 v2.3.3 版本。如果您想安装其他版本,只需调整 URL 中的版本号即可。

第 3 步:赋予文件可执行权限

使用 ‘chmod’ 命令使 Docker-compose 文件可执行:

$ chmod +x ~/.docker/cli-plugins/docker-compose

第 4 步:验证安装

使用以下命令显示 Docker Compose 版本,以验证上述安装:

$ docker compose --version

按照上述步骤,您不仅可以在个人电脑上安装,还可以在 BlueVPS 服务器上顺利安装 Docker Compose。

如何在 Ubuntu 22.04 上使用 Docker Compose?

在 Ubuntu 上安装 Docker Compose 后,您需要创建一个 docker-compose.yml 文件来使用 Docker Compose。首先在系统的 Home 文件夹中创建一个目录:

$ mkdir ~/compose-mongodemo
$ cd ~/compose-mongodemo

如何配置 ‘docker-compose.yml’ 文件?

在本教程中,我们将为 ‘Mongo Express’ 镜像配置一个 docker-compose.yml 文件。创建并编辑该文件:

$ nano docker-compose.yml

将以下配置粘贴到文件中。它会启动一个 MongoDB 容器以及与之连接的 Mongo Express Web 界面(请将示例凭据替换为您自己的凭据):

services:
  mongo:
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example
  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: example
      ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/
      ME_CONFIG_BASICAUTH: "false"

您也可以从 docker hub 获取上述配置代码。保存更改,并在 nano 中使用 ‘Ctrl+x’ 退出该文件。

要使用提供的 docker-compose.yml 配置部署服务,请执行以下命令:

$ docker compose up -d

该命令会拉取所需的镜像(包括 Mongo Express)并启动容器。

验证正在运行的服务状态:

$ sudo docker compose ps

您还可以通过以下地址访问 Mongo Express 界面:

http://localhost:8081 or http://your-server-ip:8081

Mongo Express 仪表板将在您的浏览器中打开。

下面我们再介绍一些 Docker Compose 命令,帮助您运行多容器环境。

如果您想查看 Mongo 容器生成的日志,请使用 ‘logs’ 命令:

$ sudo docker compose logs

要暂停和恢复正在运行的容器环境,请使用以下命令:

$ docker compose pause
$ docker compose unpause

如果您需要在正在运行的容器内打开交互式 shell,例如检查文件或直接在容器内运行命令,请使用 docker exec bash 命令。

您还可以使用 ‘down’ 命令删除容器、卷、网络以及相关的容器环境:

$ docker compose down

总结

在本指南中,您了解了如何通过两种不同的方法在 Ubuntu 上安装 Docker Compose:使用 apt 软件源和通过 GitHub。我们还演示了如何使用 Mongo Express 数据库镜像搭建容器化环境。最后,您学习了如何使用不同的命令通过 Docker Compose 管理容器化环境。

如果您想进一步了解 Docker 和 Docker Compose,请查阅 Docker 官方文档。