在云原生时代,Docker 已成为应用打包、交付和运行的事实标准。本文将以 CentOS 7 系统为例,详细介绍如何利用阿里云镜像站在线安装 Docker CE、配置国内镜像加速源、安装 Docker Compose,并演示一个典型的多服务容器化部署流程。
一、安装 Docker CE(社区版)
1.1 安装必要系统工具
首先需要安装 yum-utils,它提供了 yum-config-manager 工具,方便我们管理软件源。
sudo yum install -y yum-utils1.2 添加阿里云 Docker 软件源
使用阿里云提供的官方仓库地址,能显著提升下载速度和稳定性。
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo1.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 docker1.5 校验安装
查看 Docker 版本信息,确认安装成功。
docker version如果正常显示客户端和服务端版本号,说明 Docker 已正确安装并运行。
二、配置国内镜像加速源(重要)
由于网络原因,直接从 Docker Hub 拉取镜像可能非常缓慢。通过配置国内镜像加速器,可以大幅提升拉取速度。
2.1 创建/编辑 daemon.json
vim /etc/docker/daemon.json2.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 docker2.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-compose3.2 赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose3.3 添加到 PATH(可选)
通常 /usr/local/bin 已经在 PATH 中,若需要手动添加:
export PATH=$PATH:/usr/bin/docker-compose3.4 校验安装
docker-compose version如果输出版本信息,说明安装成功。
四、部署多服务应用(通用示例)
在实际项目中,一个应用往往由多个服务组成(如数据库、缓存、消息队列、业务后端等)。下面以典型的 Web 应用 + MySQL + Redis 为例,演示如何使用 Docker Compose 进行容器化部署。
假设你的项目目录结构如下:
/your-project/docker/
├── docker-compose.yml
├── app/
│ └── Dockerfile
└── ...4.1 进入项目 docker 目录
cd /your-project/docker4.2 构建所有镜像
docker-compose build4.3 后台启动所有服务
docker-compose up -d4.4 查看服务状态
docker-compose ps4.5 单服务管理(推荐)
当项目较大或需要调试单个服务时,可以分别操作:
| 操作 | 命令示例 |
|---|---|
| 构建单个镜像(无缓存) | docker-compose build --no-cache mysql |
| 启动单个服务(前台运行) | docker-compose up mysql |
| 停止单个服务 | docker-compose stop mysql |
| 启动已停止的单个服务 | docker-compose start mysql |
| 查看单个服务实时日志 | docker-compose logs -f mysql |
提示:建议按依赖顺序依次启动:先启动数据库、缓存等基础服务,最后启动业务主服务。
五、常见问题与优化建议
权限问题:如果不想每次使用
docker都加sudo,可以将当前用户加入docker用户组:sudo usermod -aG docker $USER newgrp docker- 镜像拉取失败:检查
/etc/docker/daemon.json中的镜像源是否可用,可只保留两三个响应最快的地址。 - 服务启动顺序:可以在
docker-compose.yml中使用depends_on定义依赖关系,但注意depends_on并不等待服务完全就绪,可能需要配合健康检查(healthcheck)使用。 - 日志管理:长时间运行的服务可能产生大量日志,建议在
daemon.json中配置日志轮转策略。