首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >一文秒懂Linux安装Docker,镜像加速与生产优化

一文秒懂Linux安装Docker,镜像加速与生产优化

原创
作者头像
刘叨叨趣味运维
发布2026-01-21 10:51:48
发布2026-01-21 10:51:48
1520
举报

大家好,我是刘叨叨,一个致力于让碎片化技术系统性的运维人。

前面的文章我们聊透了Docker的架构,现在该让它真正落地了。在生产环境安装Docker,看似简单的一条命令,实则暗藏不少关键决策点。今天,我就以最主流的CentOS/RHEL/Rocky Linux为例,带你走通生产级的安装与配置全流程。

🔍 一、 安装前:两项必做检查

正式动手前,花2分钟完成下面检查,能规避多数环境问题。

1️⃣ 内核版本检查

Docker需要Linux内核3.10以上,建议4.x以上以获得更佳性能与功能支持。

代码语言:bash
复制
uname -r
# 输出类似:3.10.0-1160.el7.x86_64 (CentOS 7)

2️⃣ 存储驱动支持检查

确认内核支持 overlay2,这是现代Docker的首选存储驱动。

代码语言:bash
复制
lsmod | grep overlay
# 有输出即表示支持

如无输出,对于CentOS 7,建议升级内核至长期支持版本以获得稳定支持。

🚀 二、 核心实战:CentOS系一步安装

以下为生产环境验证过的完整安装步骤,关键在于使用官方软件源

代码语言:bash
复制
# ✅ 步骤1:卸载旧版本(新系统可跳过,但执行无害)
sudo yum remove -y docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
# ✅ 步骤2:安装基础依赖工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# ✅ 步骤3:【关键】添加Docker官方CE版稳定源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# ✅ 步骤4:安装Docker引擎及其组件
sudo yum install -y docker-ce docker-ce-cli containerd.io
# ✅ 步骤5:启动服务并设为开机自启
sudo systemctl start docker
sudo systemctl enable docker

⚙️ 三、 核心配置:优化与调优

安装完成后,必须进行针对性配置,以适应生产环境需求。

1. 配置镜像加速器(解决拉取慢的问题) 🌐

对于国内服务器,配置镜像加速器是必要步骤。直接连接Docker Hub速度慢且不稳定。以下是经最新验证可用的加速地址:

镜像加速地址

运营方

特点与说明

轩辕镜像 (免费版)

通用推荐,无需登录。

中国科学技术大学 (USTC)

经典高校源,历史悠久,稳定性有保障。

腾讯云

限制性使用,仅推荐在腾讯云服务器内部使用。

https://<你的ID>.mirror.aliyuncs.com

阿里云

专属地址,适用于阿里云ECS用户,需登录控制台获取专属地址。

编辑Docker守护进程的主配置文件 /etc/docker/daemon.json(若不存在则创建):

代码语言:bash
复制
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://docker.mirrors.ustc.edu.cn"
  ],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  },
  "storage-driver": "overlay2"
}
EOF

配置项精讲:

  • registry-mirrors:镜像加速器地址。建议配置1-2个,Docker会按顺序尝试。
  • exec-opts:生产环境关键。指定使用 systemd 作为cgroup驱动。
  • log-driverlog-opts生产环境强烈建议配置。用于限制单个容器日志文件的大小和数量,防止日志写满磁盘。
  • storage-driver:存储驱动。设置为 overlay2

💡 关于 Overlay2

overlay2 是现代Linux内核支持的联合文件系统驱动,是Docker的默认和推荐选择。相比旧的 devicemapper 驱动,它具有以下显著优势:

  • 性能更高:读写操作尤其是镜像层操作更快。
  • 资源利用率高:镜像层共享效率高,节省磁盘空间。
  • 更稳定:直接利用内核能力,无需额外的守护进程。

2. 解决容器网络警告 ⚠️

在启动容器时,你可能会遇到关于IPv4转发和bridge-nf调用的警告。这些警告表明网络功能未完全启用,可能影响容器网络通信。

代码语言:bash
复制
WARNING: IPv4 forwarding is disabled
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

解决方案:一次性启用所需的内核参数

代码语言:bash
复制
# 创建或修改sysctl配置文件,永久启用参数
sudo tee /etc/sysctl.d/99-docker.conf <<-'EOF'
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
# 立即应用配置(无需重启)
sudo sysctl -p /etc/sysctl.d/99-docker.conf
# 验证设置已生效
sysctl net.ipv4.ip_forward net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-ip6tables
# 应全部输出为 1

3. 应用配置并验证

代码语言:bash
复制
# 重启Docker服务使所有配置生效
sudo systemctl daemon-reload
sudo systemctl restart docker
# 全面验证安装与配置
docker info | grep -E "Registry Mirrors|Cgroup Driver|Storage Driver|Kernel Version"
# 应显示你配置的加速器地址、systemd驱动、overlay2驱动以及内核版本

🧪 四、 验证与快速检查

运行一个测试容器,确保从拉取到运行的整个链条通畅。

代码语言:bash
复制
# 拉取一个极小的测试镜像(此时应通过加速器)
docker pull hello-world
# 运行测试容器(--rm 参数表示容器退出后自动清理)
docker run --rm hello-world
# 看到 “Hello from Docker!” 即表示大功告成

生产环境快速健康检查清单: 📋

代码语言:bash
复制
# 1. 服务状态
systemctl is-active docker # 应返回:active
# 2. 关键配置验证
docker info --format '{{.RegistryConfig.Mirrors}}' # 检查加速器
docker info --format '{{.Driver}}' # 检查存储驱动,应为 overlay2
# 3. 基本功能测试
docker run --rm alpine:latest echo "Docker is ready!" # 快速功能测试

💬 实战讨论

配置之路,常遇“特色”问题:

  1. 在获取阿里云专属加速地址时,你发现控制台提供的地址格式与通用教程有何不同? 实际测速对比如何?

欢迎分享你的真实部署经验和遇到的“坑”,你的实践是最有价值的参考。


🎯 下期预告

基础环境已经坚如磐石。下一篇,我们将进入容器操作的核心战场,我会详解 docker pullrunexecpsbuild 等高频命令的每一个关键参数生产用法组合技巧,让你彻底告别命令的死记硬背,真正理解其设计逻辑。

搜索关注【刘叨叨趣味运维】公众号,用有趣的方式,啃下最硬核的技术。咱们下期见!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 [email protected] 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 [email protected] 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🔍 一、 安装前:两项必做检查
  • 🚀 二、 核心实战:CentOS系一步安装
  • ⚙️ 三、 核心配置:优化与调优
    • 1. 配置镜像加速器(解决拉取慢的问题) 🌐
    • 2. 解决容器网络警告 ⚠️
    • 3. 应用配置并验证 ✅
  • 🧪 四、 验证与快速检查
  • 💬 实战讨论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档