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

相关推荐
BullSmall5 小时前
Anolis OS 8.10 完整安装 Docker CE(生产可用,解决 podman 冲突)
docker·容器·podman
梦梦代码精9 小时前
开源AI应用平台BuildingAI解析:插件化架构、应用市场与热门案例
人工智能·机器学习·docker·开源
IT瑞先生11 小时前
Docker快速部署Mysql的三种方法——实操篇
mysql·adb·docker
梦远青城12 小时前
Docker 部署python的paddle进行OCR文字识别身份证
python·docker·ocr·paddle·身份证识别
CodexDave12 小时前
数据库连接池耗尽:排查顺序与三层兜底
服务器·前端·数据库·git·云原生·容器·kubernetes
java_logo13 小时前
ELK Docker Compose 部署指南:轻松搭建日志检索平台
elk·elasticsearch·docker·容器·kibana·logstash·轩辕镜像
ShallWeL13 小时前
Orin 上用 Docker 跑通目标检测功能
人工智能·目标检测·docker·容器
辰同学ovo14 小时前
用“舞台换景”讲清 Docker 的 Restart 与 Recreate
运维·docker·容器
名字还没想好☜14 小时前
Kubernetes Ingress 实战:域名路由、TLS 证书与 502/404 排查
运维·云原生·容器·kubernetes·ingress
看-是灰机15 小时前
使用go语言实现对接
linux·开发语言·后端·docker·语言模型·golang·飞书