在云原生时代,Docker 已成为应用打包、交付和运行的事实标准。本文将以 CentOS 7 系统为例,详细介绍如何利用阿里云镜像站在线安装 Docker CE、配置国内镜像加速源、安装 Docker Compose,并演示一个典型的多服务容器化部署流程。


一、安装 Docker CE(社区版)

1.1 安装必要系统工具

首先需要安装 yum-utils,它提供了 yum-config-manager 工具,方便我们管理软件源。

sudo yum install -y yum-utils

1.2 添加阿里云 Docker 软件源

使用阿里云提供的官方仓库地址,能显著提升下载速度和稳定性。

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.3 安装 Docker 及相关组件

执行以下命令安装 Docker 引擎、CLI 工具、容器运行时以及构建插件和 Compose 插件。

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
注:docker-compose-plugin 是 Docker Compose V2 的插件形式,若习惯使用 docker-compose 命令,也可以单独安装传统版本的 Compose(见后文)。

1.4 启动 Docker 服务

sudo systemctl enable --now docker

1.5 校验安装

查看 Docker 版本信息,确认安装成功。

docker version

如果正常显示客户端和服务端版本号,说明 Docker 已正确安装并运行。


二、配置国内镜像加速源(重要)

由于网络原因,直接从 Docker Hub 拉取镜像可能非常缓慢。通过配置国内镜像加速器,可以大幅提升拉取速度。

2.1 创建/编辑 daemon.json

vim /etc/docker/daemon.json

2.2 写入以下内容

{
  "registry-mirrors": [
    "https://51mbg7lq.mirror.aliyuncs.com",
    "https://9cpn8tt6.mirror.aliyuncs.com",
    "https://registry.docker-cn.com",
    "https://a0f4d5484dea442caf5d1193f09abdd4.mirror.swr.myhuaweicloud.com",
    "https://do.nark.eu.org",
    "https://dc.j8.work",
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.nju.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://ccr.ccs.tencentyun.com"
  ]
}
说明:这里列出了多个国内常用镜像源(阿里云、华为云、中科大、南京大学、网易、百度、腾讯云等),按优先级排列。你可以根据实际网络情况增删。

2.3 重新加载配置并重启 Docker

sudo systemctl daemon-reload
sudo systemctl restart docker

2.4 设置开机自启

sudo systemctl enable docker

完成上述步骤后,Docker 的基础环境就准备好了。


三、安装 Docker Compose(可选)

如果你的项目需要使用 docker-compose.yml 进行多容器编排,建议安装 Docker Compose。
若已通过 docker-compose-plugin 安装了 V2 版本,可以直接使用 docker compose 命令(注意中间没有横线)。但传统 docker-compose 命令在很多教程中仍被广泛使用,因此下面也提供独立安装方法。

3.1 下载稳定版二进制文件

v2.5.1 为例(你也可以到 GitHub Releases 查看最新版本号):

sudo curl -L "https://github.com/docker/compose/releases/download/v2.5.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

3.2 赋予执行权限

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

3.3 添加到 PATH(可选)

通常 /usr/local/bin 已经在 PATH 中,若需要手动添加:

export PATH=$PATH:/usr/bin/docker-compose

3.4 校验安装

docker-compose version

如果输出版本信息,说明安装成功。


四、部署多服务应用(通用示例)

在实际项目中,一个应用往往由多个服务组成(如数据库、缓存、消息队列、业务后端等)。下面以典型的 Web 应用 + MySQL + Redis 为例,演示如何使用 Docker Compose 进行容器化部署。

假设你的项目目录结构如下:

/your-project/docker/
├── docker-compose.yml
├── app/
│   └── Dockerfile
└── ...

4.1 进入项目 docker 目录

cd /your-project/docker

4.2 构建所有镜像

docker-compose build

4.3 后台启动所有服务

docker-compose up -d

4.4 查看服务状态

docker-compose ps

4.5 单服务管理(推荐)

当项目较大或需要调试单个服务时,可以分别操作:

操作命令示例
构建单个镜像(无缓存)docker-compose build --no-cache mysql
启动单个服务(前台运行)docker-compose up mysql
停止单个服务docker-compose stop mysql
启动已停止的单个服务docker-compose start mysql
查看单个服务实时日志docker-compose logs -f mysql
提示:建议按依赖顺序依次启动:先启动数据库、缓存等基础服务,最后启动业务主服务。

五、常见问题与优化建议

  1. 权限问题:如果不想每次使用 docker 都加 sudo,可以将当前用户加入 docker 用户组:

    sudo usermod -aG docker $USER
    newgrp docker
  2. 镜像拉取失败:检查 /etc/docker/daemon.json 中的镜像源是否可用,可只保留两三个响应最快的地址。
  3. 服务启动顺序:可以在 docker-compose.yml 中使用 depends_on 定义依赖关系,但注意 depends_on 并不等待服务完全就绪,可能需要配合健康检查(healthcheck)使用。
  4. 日志管理:长时间运行的服务可能产生大量日志,建议在 daemon.json 中配置日志轮转策略。

最后修改:2026 年 04 月 26 日
如果觉得我的文章对你有用,请随意赞赏