Docker Compose 安装教程:一步步教你部署容器 – wiki词典

Docker Compose 安装教程:一步步教你部署容器

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 YAML 文件来配置应用程序的服务,然后使用一个命令就能创建并启动所有服务。这极大地简化了复杂应用的部署流程。本文将详细介绍如何在不同操作系统上安装 Docker Compose,并提供部署容器的初步指南。


引言

在现代软件开发中,容器化技术已成为主流。Docker 提供了一种将应用程序及其所有依赖项打包到可移植容器中的方法。然而,对于由多个服务组成的复杂应用程序(例如,一个 Web 应用可能包括一个前端服务、一个后端 API 服务和一个数据库服务),手动管理这些独立的 Docker 容器会变得繁琐。Docker Compose 正是为了解决这个问题而生,它允许你使用一个单一的 docker-compose.yml 文件来定义、配置和运行多容器应用程序。

一、 安装前提

在安装 Docker Compose 之前,你必须确保已经在你的系统上安装了 Docker Engine。Docker Compose 依赖于 Docker Engine 来执行其所有操作。

  • 安装 Docker Engine:
    • Windows / macOS: Docker Desktop (包含 Docker Engine 和 Docker Compose) 是推荐的安装方式。
    • Linux: 根据你的 Linux 发行版,遵循 Docker 官方文档的指引安装 Docker Engine。

二、 Docker Compose 安装指南

Docker Compose 的安装方式因操作系统而异。以下是针对主流操作系统的安装步骤:

1. Windows (通过 Docker Desktop)

对于 Windows 用户,Docker Compose 已集成在 Docker Desktop 中,无需单独安装。

  1. 下载 Docker Desktop: 访问 Docker 官方网站 下载适用于 Windows 的 Docker Desktop 安装程序。
  2. 运行安装程序: 双击下载的 Docker Desktop Installer.exe 文件,按照屏幕上的指示完成安装。
  3. 启用 WSL 2 (如果需要): Docker Desktop 通常需要 Windows Subsystem for Linux 2 (WSL 2) 以获得最佳性能。如果系统提示,请确保已启用 WSL 2。
  4. 启动 Docker Desktop: 安装完成后,从应用程序列表中启动 Docker Desktop。它通常会作为后台服务自动运行。
  5. 验证安装: 打开 PowerShell 或命令提示符,运行以下命令验证 Docker Compose 是否安装成功:
    bash
    docker compose version

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

2. macOS (通过 Docker Desktop)

与 Windows 类似,macOS 用户通过安装 Docker Desktop 即可获得 Docker Compose。

  1. 下载 Docker Desktop: 访问 Docker 官方网站 下载适用于 macOS 的 Docker Desktop 安装程序(根据你的 Mac 处理器选择 Intel 或 Apple Silicon 版本)。
  2. 安装 Docker Desktop: 打开下载的 .dmg 文件,将 Docker 图标拖放到“应用程序”文件夹中。
  3. 启动 Docker Desktop: 从“应用程序”文件夹中启动 Docker Desktop。你可能需要接受条款和条件并输入系统密码。
  4. 验证安装: 打开终端,运行以下命令验证 Docker Compose:
    bash
    docker compose version

    你将看到 Docker Compose 的版本信息。

3. Linux (作为独立二进制文件)

对于 Linux 系统,推荐通过下载独立二进制文件的方式安装 Docker Compose。

  1. 下载最新稳定版本: 在终端中执行以下 curl 命令,下载最新稳定版的 Docker Compose 二进制文件并保存到 /usr/local/bin/docker-compose。请注意,这里的 URL 会指向最新版本。
    bash
    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    • 注意: $(uname -s) 会输出操作系统名称 (如 Linux),$(uname -m) 会输出机器硬件架构 (如 x86_64)。
  2. 添加执行权限: 授予下载的二进制文件执行权限:
    bash
    sudo chmod +x /usr/local/bin/docker-compose
  3. 验证安装: 运行以下命令检查 Docker Compose 的版本:
    bash
    docker-compose --version

    你应看到类似 docker-compose version 2.x.x, build abc123 的输出。

    • 补充说明: 某些 Linux 发行版可能会在其官方仓库中提供 Docker Compose 包(例如,Ubuntu 可以通过 apt 安装)。然而,从 GitHub 下载二进制文件通常能确保你获得最新且最稳定的版本。

三、 使用 Docker Compose 部署容器

安装 Docker Compose 后,你就可以开始定义和部署多容器应用程序了。核心是创建一个 docker-compose.yml 文件。

1. 创建 docker-compose.yml 文件

docker-compose.yml 文件使用 YAML 语法来定义你的服务、网络和卷。以下是一个简单的示例,定义了一个 Web 服务(使用 Nginx)和一个 Redis 缓存服务:

“`yaml
version: ‘3.8’ # Docker Compose 文件格式版本

services:
web:
image: nginx:latest # 使用最新的 Nginx 镜像
ports:
– “80:80” # 将主机端口 80 映射到容器端口 80
volumes:
– ./nginx.conf:/etc/nginx/nginx.conf # 挂载自定义 Nginx 配置
– ./html:/usr/share/nginx/html # 挂载静态文件目录
depends_on:
– redis # web 服务依赖于 redis 服务先启动

redis:
image: redis:latest # 使用最新的 Redis 镜像
ports:
– “6379:6379” # 将主机端口 6379 映射到容器端口 6379
“`

在这个示例中:

  • version: 指定 Docker Compose 文件的格式版本,通常建议使用最新版本。
  • services: 定义应用程序的各个服务。
    • web:
      • image: 指定用于创建容器的 Docker 镜像。
      • ports: 将容器的端口暴露给主机。
      • volumes: 将主机路径挂载到容器中,用于数据持久化或配置。
      • depends_on: 定义服务之间的启动依赖关系。
    • redis: 类似地定义了 Redis 服务。

2. 部署应用程序

在包含 docker-compose.yml 文件的目录中,打开终端并运行以下命令:

bash
docker compose up -d

  • docker compose up: 根据 docker-compose.yml 文件创建并启动所有服务。
  • -d: 在后台(detached mode)运行容器,这样终端不会被占用。

Docker Compose 会自动下载所需的镜像(如果本地没有),创建网络,并启动所有定义的服务。

3. 常用 Docker Compose 命令

  • 查看运行中的服务:
    bash
    docker compose ps
  • 停止服务:
    bash
    docker compose stop
  • 停止并删除服务、网络和卷:
    bash
    docker compose down

    • --volumes: 如果要删除匿名卷,可以添加此选项。
  • 构建或重建服务镜像:
    bash
    docker compose build
  • 查看服务日志:
    bash
    docker compose logs [service_name]

    例如:docker compose logs web

结论

Docker Compose 是一个功能强大且易于使用的工具,极大地简化了多容器 Docker 应用程序的开发、测试和部署。通过本文的详细教程,你应该已经掌握了如何在不同操作系统上安装 Docker Compose,并了解了如何使用 docker-compose.yml 文件来定义和部署你的容器化应用程序。现在,你可以开始利用 Docker Compose 的便利性,更高效地管理你的复杂应用了。


滚动至顶部