二、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 会优先尝试从配置的加速器拉取,你会感受到速度的明显提升。

相关推荐
Patrick_Wilson15 小时前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy1 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭1 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩2 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵3 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1113 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽4 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康6 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn869 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
2601_961875249 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant