Docker Compose简介

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YAML文件来配置应用程序的服务,然后使用一个命令创建并启动所有服务。它极大地简化了容器编排工作,特别适合开发、测试和CI工作流程。

安装前提

在安装Docker Compose之前,请确保您的系统已经安装了Docker。您可以通过以下命令检查Docker是否已安装:

1
docker --version

如果未安装Docker,请先安装Docker:

1
2
3
yum install -y docker
systemctl enable docker
systemctl start docker

使用YUM安装Docker Compose

1. 添加EPEL源

EPEL (Extra Packages for Enterprise Linux) 是为企业级Linux提供额外软件包的仓库,它包含了许多在标准仓库中不可用的软件包,包括docker-compose。

1
yum install -y epel-release

2. 安装Docker Compose

安装完EPEL源后,可以直接使用yum命令安装docker-compose:

1
yum install -y docker-compose

3. 验证安装

安装完成后,可以通过查看版本号来验证docker-compose是否安装成功:

1
docker-compose --version

如果安装成功,将显示类似以下的输出:

1
docker-compose version 1.29.2, build unknown

使用Docker Compose

基本命令

  1. 创建并启动容器

    1
    docker-compose up -d
  2. 停止并移除容器

    1
    docker-compose down
  3. 查看运行中的服务

    1
    docker-compose ps
  4. 查看服务日志

    1
    docker-compose logs

示例docker-compose.yml文件

以下是一个简单的docker-compose.yml示例,用于部署WordPress和MySQL:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
version: '3'

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress

wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress

volumes:
db_data:

故障排除

  1. 如果安装失败,可能是因为EPEL源未正确配置,尝试更新源:

    1
    2
    yum clean all
    yum makecache
  2. 如果版本过低,可以考虑使用官方安装脚本安装最新版本:

    1
    2
    curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
  3. 权限问题:确保当前用户在docker组中:

    1
    usermod -aG docker $(whoami)

总结

使用YUM安装Docker Compose是在CentOS/RHEL系统上快速部署Docker Compose的简便方法。通过EPEL源,您可以轻松获取和安装Docker Compose,从而简化多容器应用程序的管理。

Docker Compose极大地简化了开发和部署流程,使得定义、运行和扩展多容器应用变得更加容易。无论是开发环境还是生产环境,Docker Compose都是容器编排的有力工具。