二、Docker安装部署教程

作者: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:

  1. 安装必要的工具
bash 复制代码
yum install -y yum-utils
  1. 设置 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 pulldocker run 一个本地不存在的镜像时,Docker 会优先尝试从配置的加速器拉取,你会感受到速度的明显提升。

相关推荐
10mAh23 分钟前
【Docker】磁盘空间被占满怎么清理?——overlay2、容器日志与 Build Cache 排查实战
docker·容器·eureka
xhaxy24 分钟前
docker,k8s安装,k8s集群搭建(OS7)
docker·容器·kubernetes
guo_wen_qiang3 小时前
mac中docker desktop服务端开启远程访问
运维·服务器·macos·docker
Sayai4 小时前
Elasticsearch 9 安装验证实战:start-local 一键部署 + Docker 手动安装踩坑指南
大数据·elasticsearch·docker
名字还没想好☜9 小时前
Docker 容器安全加固实战:非 root、只读根文件系统、drop capabilities 与最小攻击面
运维·安全·docker·容器·kubernetes
码--到成功10 小时前
Docker、Kubernetes安装系列 二
docker·容器·kubernetes
M--Y12 小时前
Docker镜像与仓库管理详解
docker·容器
mohesashou12 小时前
k8s的service
云原生·容器·kubernetes
starzy199012 小时前
虚拟化解决方案全景:软件虚拟化、硬件虚拟化与 Docker 的位置
运维·docker·容器
梦Arrebol14 小时前
Kubernetes 微服务
微服务·容器·kubernetes