作者:IvanCodes
日期:2025年7月7日
专栏:Docker教程
在前一篇文章中,我们了解了 Docker 的历史、能做什么以及核心概念 (镜像、容器、仓库)。现在,我们将更进一步,深入探究 Docker 中最常用也最核心的命令------docker run
------其背后的工作流程与原理。同时,我们还将详细介绍如何在Linux系统上安装部署 Docker,并配置镜像加速器以提升镜像拉取速度。
一、docker run
的神奇之旅:从一条命令到一个运行中的容器
当你在终端中敲下 docker run
命令时,比如 docker run -it ubuntu /bin/bash
,看似简单的一行命令背后,Docker 引擎执行了一系列复杂而有序的操作。

二、在 Linux (以 CentOS/Ubuntu 为例) 上安装部署 Docker
2.1 准备工作
- 系统要求:建议使用 64 位的 CentOS 7/8 或 Ubuntu 18.04/20.04/22.04 LTS 版本。
- 卸载旧版本 :如果系统上安装了旧的 Docker 版本,建议先卸载。
bash
# 对于 CentOS
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 对于 Ubuntu
apt-get remove docker docker-engine docker.io containerd runc
2.2 安装步骤
对于 CentOS:
- 安装必要的工具:
bash
yum install -y yum-utils
- 设置 Docker 的 yum 仓库:
bash
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3. 安装 Docker 引擎:
bash
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4. 启动并设置开机自启:
bash
systemctl start docker
systemctl enable docker
对于 Ubuntu:
1. 更新 apt 包索引并安装依赖:
bash
apt-get update
apt-get install -y ca-certificates curl gnupg
2. 添加 Docker 的官方 GPG 密钥:
bash
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
3. 设置 Docker 的 apt 仓库:
bash
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. 安装 Docker 引擎:
bash
apt-get update
apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2.3 验证安装
运行经典的 hello-world
镜像来验证 Docker 是否安装成功。
bash
docker run hello-world

如果看到 "Hello from Docker!" 的欢迎信息,说明安装成功!
三、配置 Docker 镜像加速器
由于Docker Hub 的服务器在国外,直接拉取镜像有时会非常缓慢。配置国内的镜像加速器可以显著提升下载速度。
常见的国内镜像加速器提供商:
- 阿里云容器镜像服务 (ACR)
- 网易云镜像服务
- DaoCloud
- 腾讯云容器镜像服务 (TCR)
配置步骤 (以通用方式为例):
1. 创建或修改 Docker 守护进程配置文件:
配置文件通常是 /etc/docker/daemon.json
。如果该文件不存在,请创建它。
bash
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://<your-accelerator-url>"]
}
EOF
请将 https://<your-accelerator-url>
替换为你从加速器提供商获取的专属加速地址。
例如,使用网易云的加速器地址:
bash
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF
如果你想配置多个加速器地址作为备份,可以换成下面的命令:
bash
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://mirror.tuna.tsinghua.edu.cn",
"https://mirror.ccs.tencentyun.com",
"http://hub-mirror.c.163.com"
]
}
EOF

2. 重新加载配置并重启 Docker 服务:
修改完配置文件后,必须让 Docker Daemon 重新加载配置并重启。
bash
systemctl daemon-reload
systemctl restart docker
3. 验证加速器是否生效:
执行 docker info
命令,在输出信息中查找 Registry Mirrors
部分。
bash
docker info
如果能看到你配置的加速器地址列表,说明配置成功。

到此,恭喜你配置成功!现在,当你再次执行 docker pull
或 docker run
一个本地不存在的镜像时,Docker 会优先尝试从配置的加速器拉取,你会感受到速度的明显提升。