当前位置: 首页 > news >正文

Rocky Linux 9.5离线环境保姆级教程:手把手搞定Docker 25.0.5完整部署

Rocky Linux 9.5离线环境保姆级教程:手把手搞定Docker 25.0.5完整部署

在金融、军工等对网络安全要求极高的行业环境中,服务器往往部署在严格的内网隔离环境中,无法直接访问互联网获取软件包和依赖。这种场景下,如何在离线环境中部署Docker容器引擎成为许多运维工程师面临的挑战。本文将提供一个完整的离线部署方案,从依赖包下载到最终验证,覆盖x86_64和aarch64两种主流架构,确保您能在无外网访问的生产环境中顺利完成Docker 25.0.5的部署。

1. 环境准备与依赖收集

1.1 确定系统架构与版本

在开始之前,首先需要确认目标服务器的CPU架构和操作系统版本。Rocky Linux 9.5支持x86_64和aarch64两种主流架构,选择错误的安装包会导致部署失败。

# 查看系统架构 uname -m # 查看操作系统版本 cat /etc/redhat-release

对于x86_64架构的Intel/AMD处理器,应选择x86_64版本的Docker;对于ARM架构的处理器(如华为鲲鹏、AWS Graviton等),则需要选择aarch64版本。

1.2 联网环境下的准备工作

在能够访问互联网的机器上,我们需要完成以下准备工作:

  1. 创建工作目录并下载Docker二进制包
  2. 使用yum下载所有依赖包
  3. 整理传输介质(U盘、内网传输工具等)

关键工具安装

# 安装yum-utils工具包 yum install -y yum-utils # 添加Docker官方仓库 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2. 依赖包下载与整理

2.1 下载Docker二进制包

访问Docker官方发布页面,选择对应版本的静态二进制包。对于Docker 25.0.5,下载链接通常为:

https://download.docker.com/linux/static/stable/x86_64/docker-25.0.5.tgz

或对于ARM架构:

https://download.docker.com/linux/static/stable/aarch64/docker-25.0.5.tgz

使用wget或curl下载到本地:

wget https://download.docker.com/linux/static/stable/x86_64/docker-25.0.5.tgz

2.2 使用yum下载依赖包

创建专门的目录存放依赖包,并使用yum的downloadonly功能:

mkdir -p /root/docker_deps yum install -y --downloadonly --downloaddir=/root/docker_deps \ --nogpgcheck --skip-broken \ containerd.io lvm2 device-mapper-persistent-data iptables-services

依赖包清单

  • containerd.io:容器运行时核心组件
  • device-mapper*:存储驱动相关包
  • lvm2*:逻辑卷管理工具
  • iptables*:网络规则管理工具

2.3 依赖包完整性检查

下载完成后,检查目录中应包含以下主要rpm包:

containerd.io-1.7.27-3.1.el9.x86_64.rpm device-mapper-1.02.202-6.el9.x86_64.rpm lvm2-2.03.28-6.el9.x86_64.rpm iptables-libs-1.8.10-11.el9_5.x86_64.rpm

3. 离线环境部署流程

3.1 传输文件到离线服务器

将准备好的docker-25.0.5.tgz和docker_deps目录通过安全方式传输到目标服务器。常见传输方式包括:

  1. 物理介质传输(U盘、移动硬盘)
  2. 内网安全传输工具(如SFTP/SCP)
  3. 企业内部文件共享系统

确保传输完成后验证文件完整性:

md5sum docker-25.0.5.tgz find docker_deps -type f -exec md5sum {} \;

3.2 安装依赖包

在离线服务器上,按顺序安装所有依赖包:

# 安装containerd rpm -ivh docker_deps/containerd.io-*.rpm # 安装device-mapper和lvm2相关包 rpm -Uvh docker_deps/device-mapper-* docker_deps/lvm2-* # 安装iptables rpm -Uvh docker_deps/iptables-*

安装顺序很重要:必须先安装containerd.io,再安装其他依赖包,避免依赖关系问题。

3.3 部署Docker二进制文件

解压Docker二进制包并安装到系统路径:

tar -zxvf docker-25.0.5.tgz cp -a docker/* /usr/bin/

验证可执行文件权限:

ls -l /usr/bin/dockerd /usr/bin/containerd

4. 系统配置与服务管理

4.1 创建systemd服务文件

Docker需要三个关键的systemd服务单元文件:

  1. containerd.service:容器运行时服务
  2. docker.socket:Docker API socket配置
  3. docker.service:Docker主服务

containerd.service配置

cat > /etc/systemd/system/containerd.service <<EOF [Unit] Description=containerd container runtime Documentation=https://containerd.io After=network.target local-fs.target [Service] ExecStartPre=-/sbin/modprobe overlay ExecStart=/usr/bin/containerd Type=notify Delegate=yes KillMode=process Restart=always RestartSec=5 LimitNPROC=infinity LimitCORE=infinity LimitNOFILE=1048576 TasksMax=infinity OOMScoreAdjust=-999 [Install] WantedBy=multi-user.target EOF

4.2 安全与网络配置

关闭可能影响Docker运行的安全功能:

# 禁用SELinux sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config setenforce 0 # 停止并禁用firewalld systemctl stop firewalld && systemctl disable firewalld # 创建docker用户组 groupadd docker

4.3 启动并验证服务

按顺序启动Docker相关服务:

systemctl daemon-reload systemctl enable --now containerd.service systemctl enable --now docker.socket systemctl enable --now docker.service

验证服务状态:

systemctl status docker.service docker info

5. 部署后验证与问题排查

5.1 基础功能测试

运行简单的容器测试Docker是否正常工作:

docker run --rm hello-world

如果看到"Hello from Docker!"消息,说明基本功能正常。

5.2 常见问题解决方案

问题1:Failed to start Docker Application Container Engine

检查日志获取详细信息:

journalctl -xe -u docker.service

常见原因包括:

  • 缺少依赖包
  • 存储驱动配置错误
  • 内核模块未加载

问题2:Cannot connect to the Docker daemon

确保docker.socket服务已启动:

systemctl status docker.socket ls -l /var/run/docker.sock

5.3 性能优化建议

对于生产环境,建议进行以下优化:

  1. 配置日志驱动和日志大小限制
  2. 调整存储驱动为overlay2
  3. 设置适当的cgroup驱动
  4. 配置镜像加速器(如果有内网镜像仓库)
# 示例daemon.json配置 mkdir -p /etc/docker cat > /etc/docker/daemon.json <<EOF { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" } EOF

完成以上所有步骤后,您的Rocky Linux 9.5离线环境就已经成功部署了Docker 25.0.5,可以开始安全地运行容器化应用了。在实际部署过程中,根据不同的硬件环境和安全要求,可能还需要调整部分配置参数。

http://www.jsqmd.com/news/541593/

相关文章:

  • 循环队列在嵌入式消息处理中的实现与应用
  • 4重防护构建安卓安全屏障:APKMirror应用管理全攻略
  • 《PyCharm 自定义背景图最简易教程,让你的编辑器颜值拉满!》
  • 2026论文写作工具红黑榜:AI论文平台怎么选?清单来了
  • CTFSHOW web入门 爆破 web23
  • 为什么3分钟搞懂AI
  • 【2026最新】IDEA 2025.3最新安装教程
  • 使命召唤系列合集COD 1-21部 中文版 全DLC+MOD修改器 PC单机联机游戏射击游戏
  • 破解语言壁垒:Translumo颠覆实时屏幕翻译的跨语言工具革命
  • 基于springboot数学库组卷系统设计与开发(源码+精品论文+答辩PPT等资料)
  • 零代码玩转OpenClaw:ollama-QwQ-32B自动化脚本生成教程
  • 浏览器窗口最小化的时候,setInterval 执行变慢,解决方案
  • GetQzonehistory终极指南:一键备份QQ空间所有历史说说完整教程
  • 2026工业加固计算机优质推荐榜适配极端工况 - 优质品牌商家
  • 终极Mac鼠标兼容性解决方案:如何用Mac Mouse Fix让第三方鼠标比苹果触控板更好用 [特殊字符]
  • YOLOv8-CopyPaste:基于复制粘贴增强的小目标与遮挡检测算法改进
  • 实战驱动:告诉快马你的vue项目类型,获取量身定制的环境与示例
  • Apache IoTDB Web Workbench:时序数据库可视化管理平台技术白皮书
  • 2026便携式加固计算机优质品牌推荐指南:工业加固计算机/工业平板电脑/工控机/无人机地面站加固计算机/选择指南 - 优质品牌商家
  • JAVA 国际版同城拼车系统源码 顺风车预约服务平台搭建全攻略
  • Bypass Paywalls Clean:3步搞定付费内容,你的免费阅读神器
  • 双模型灾备方案:OpenClaw同时接入ollama-QwQ-32B与云端API的实践
  • 傅里叶变换与拉普拉斯变换:从公式到工程应用的全面解析
  • 【基于Tube的非线性系统模型预测控制MPC】基于鲁棒控制不变集的管式模型预测控制方案及其在利普希茨非线性系统中的应用附Matlab代码
  • League-Toolkit:颠覆级英雄联盟全场景辅助工具,让你的上分效率提升300%
  • 【GitLab】告别“Ensure URL is HTTPS”错误:SSH与HTTPS协议配置全攻略
  • OpenClaw+GLM-4.7-Flash智能家居联动:自然语言控制IoT设备
  • 写给Java新手:AI开发其实没你想的那么难
  • MindSpore mint 模块学习
  • 【Python WASM 部署终极指南】:20年架构师亲授从Pyodide到WASI的生产级落地路径