Ubuntu Docker Compose 完整安装教程 – wiki基地

Ubuntu Docker Compose 完整安装教程

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个简单的 YAML 文件,你可以配置应用程序的所有服务,然后使用一个命令即可创建并启动所有服务。对于复杂的应用架构,Docker Compose 可以极大地简化部署和管理流程。本教程将详细介绍如何在 Ubuntu 系统上完整安装 Docker Compose,并涵盖安装后的一些常见问题和最佳实践。

一、前提条件

在开始安装 Docker Compose 之前,你需要确保已经安装了 Docker。如果尚未安装 Docker,请按照以下步骤进行安装:

  1. 更新包索引:

bash
sudo apt update

  1. 安装必要的包,允许 apt 通过 HTTPS 使用存储库:

bash
sudo apt install apt-transport-https ca-certificates curl software-properties-common

  1. 添加 Docker 的官方 GPG 密钥:

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

  1. 设置稳定的存储库:

bash
echo "deb [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

  1. 再次更新包索引:

bash
sudo apt update

  1. 安装 Docker Engine:

bash
sudo apt install docker-ce docker-ce-cli containerd.io

  1. 验证 Docker 是否成功安装:

bash
sudo docker run hello-world

如果看到 “Hello from Docker!” 的消息,则说明 Docker 已经成功安装。

二、安装 Docker Compose 的方法

安装 Docker Compose 主要有两种方法:通过 apt 包管理器安装和通过下载二进制文件安装。 两种方法各有优缺点,选择哪种方法取决于你的需求。

方法一:使用 apt 包管理器安装 (推荐)

这种方法是最简单的安装方式,适用于大多数用户。

  1. 安装 Docker Compose:

bash
sudo apt install docker-compose-plugin

注意: 在较新的 Ubuntu 版本 (22.04 LTS 及更高版本) 中,Docker Compose 被打包为 Docker Engine 的一个插件。 因此,你不再需要安装 docker-compose 包,而是安装 docker-compose-plugin

  1. 验证安装:

bash
docker compose version

如果安装成功,将会显示 Docker Compose 的版本信息。

方法二:下载二进制文件手动安装

这种方法提供了更多的灵活性,允许你选择 Docker Compose 的特定版本。

  1. 确定要安装的 Docker Compose 版本:

访问 Docker Compose 的 GitHub 发布页面:https://github.com/docker/compose/releases 选择你想要安装的版本。

  1. 下载 Docker Compose 二进制文件:

将以下命令中的 VERSION 替换为你选择的版本号,并根据你的架构选择合适的二进制文件。对于大多数 Ubuntu 系统,使用 linux/amd64 架构。

bash
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose

注意: 请将 v2.23.3 替换为你实际选择的版本号。

  1. 赋予二进制文件可执行权限:

bash
sudo chmod +x /usr/local/bin/docker-compose

  1. 验证安装:

bash
docker-compose --version

或者

bash
/usr/local/bin/docker-compose --version

如果安装成功,将会显示 Docker Compose 的版本信息。

三、配置 Docker Compose (可选)

虽然 Docker Compose 可以直接使用,但你可能需要进行一些额外的配置,以满足你的特定需求。

  1. 配置 Docker 组:

将你的用户添加到 Docker 组,允许你以非 root 用户身份运行 Docker 命令。

bash
sudo usermod -aG docker $USER
newgrp docker

重要: 完成此步骤后,需要注销并重新登录,或者重启系统,才能使更改生效。

  1. 配置 Docker Compose 的环境变量:

你可以使用环境变量来配置 Docker Compose 的行为。一些常用的环境变量包括:

  • COMPOSE_FILE: 指定 Compose 文件的路径。
  • DOCKER_HOST: 指定 Docker daemon 的地址。

你可以将这些环境变量添加到你的 ~/.bashrc~/.zshrc 文件中:

bash
echo "export COMPOSE_FILE=./docker-compose.yml" >> ~/.bashrc
source ~/.bashrc

四、使用 Docker Compose 的基本操作

安装完成后,你可以开始使用 Docker Compose 来定义和运行多容器应用程序。

  1. 创建 docker-compose.yml 文件:

创建一个 docker-compose.yml 文件,用于定义你的应用程序的服务。以下是一个简单的示例:

yaml
version: "3.9"
services:
web:
image: nginx:latest
ports:
- "80:80"
db:
image: postgres:latest
environment:
POSTGRES_USER: example
POSTGRES_PASSWORD: example

这个 docker-compose.yml 文件定义了两个服务:webdbweb 服务使用 nginx:latest 镜像,并将主机的 80 端口映射到容器的 80 端口。 db 服务使用 postgres:latest 镜像,并设置了 POSTGRES_USERPOSTGRES_PASSWORD 环境变量。

  1. 启动应用程序:

在包含 docker-compose.yml 文件的目录中,运行以下命令来启动应用程序:

bash
docker compose up -d

-d 标志表示在后台运行应用程序。

  1. 停止应用程序:

运行以下命令来停止应用程序:

bash
docker compose down

  1. 查看应用程序的状态:

运行以下命令来查看应用程序的状态:

bash
docker compose ps

  1. 查看日志:

运行以下命令来查看应用程序的日志:

bash
docker compose logs

五、常见问题和解决方法

  1. docker-compose 命令未找到:

如果在使用 docker-compose 命令时出现 “command not found” 错误,请确保已正确安装 Docker Compose,并且该命令位于你的 $PATH 环境变量中。 如果使用二进制文件安装,请确保二进制文件具有可执行权限,并且位于 /usr/local/bin 目录中。 如果使用 apt 安装,请确认安装的是 docker-compose-plugin 并且使用 docker compose 命令。

  1. 权限问题:

如果你在运行 Docker 命令时遇到权限问题,请确保你的用户已添加到 Docker 组,并且已经重新登录或重启系统,使更改生效。

  1. 端口冲突:

如果在启动应用程序时遇到端口冲突,请检查是否有其他应用程序正在使用相同的端口。 你可以使用 netstat -tulnp 命令来查看正在使用的端口。

  1. 镜像下载失败:

如果在下载 Docker 镜像时遇到问题,请检查你的网络连接,并确保 Docker Hub 能够访问。 你还可以尝试更换 Docker 镜像源,以提高下载速度。

  1. Compose 文件语法错误:

如果 Docker Compose 无法解析你的 docker-compose.yml 文件,请检查文件是否存在语法错误。 你可以使用在线 YAML 验证工具来检查 YAML 文件的语法。

六、最佳实践

  1. 使用版本控制:

docker-compose.yml 文件存储在版本控制系统(如 Git)中,以便于跟踪更改和回滚。

  1. 使用环境变量:

使用环境变量来配置应用程序的敏感信息(如密码和 API 密钥),而不是将这些信息硬编码到 docker-compose.yml 文件中。 可以使用 .env 文件存储环境变量,并在 docker-compose.yml 文件中使用 ${VARIABLE_NAME} 引用它们。

  1. 使用命名卷:

使用命名卷来持久化应用程序的数据。命名卷由 Docker 管理,并且可以跨容器共享。

  1. 使用健康检查:

为你的服务配置健康检查,以便 Docker Compose 可以自动重启不健康的容器。

  1. 使用多阶段构建:

使用多阶段构建来减小 Docker 镜像的大小。多阶段构建允许你在一个 Dockerfile 中使用多个 FROM 指令,并将构建结果从一个阶段复制到另一个阶段。

七、总结

本教程详细介绍了如何在 Ubuntu 系统上完整安装 Docker Compose,并涵盖了安装后的一些常见问题和最佳实践。通过遵循这些步骤,你可以轻松地安装和使用 Docker Compose,从而简化你的多容器应用程序的部署和管理流程。 Docker Compose 是一个强大的工具,可以极大地提高你的开发效率。 熟练掌握 Docker Compose 的使用,将成为你构建和部署现代应用程序的重要技能。 记住,不断实践和探索,才能更好地理解和掌握 Docker Compose 的精髓。 祝你使用愉快!

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部