内网服务器没网怎么办?保姆级教程:手动搬运Docker 26.1.1并配置开机自启

发布时间:2026/5/27 9:23:17

内网服务器没网怎么办?保姆级教程:手动搬运Docker 26.1.1并配置开机自启 内网环境下的Docker离线部署全指南从二进制包到镜像搬运实战当企业级应用部署在严格隔离的内网环境中时运维工程师常面临一个核心挑战如何在完全离线的服务器上搭建完整的容器化运行环境本文将以Docker 26.1.1为例详解从二进制文件搬运到systemd服务配置的全流程操作并特别分享离线镜像迁移的实用技巧。1. 离线环境准备与文件传输在开始部署前需要确认目标服务器的基本环境。对于CentOS/RHEL 7系统建议预先检查以下依赖项是否满足# 检查内核版本需≥3.10 uname -r # 检查Device Mapper存储驱动 lsmod | grep dm_mod离线包传输的两种可靠方案物理介质拷贝使用FAT32格式的U盘兼容性最佳通过rsync验证文件完整性rsync -c /media/usb/docker-26.1.1.tgz /opt/跳板机中转在隔离区设置临时SFTP服务使用scp加密传输scp -C docker-26.1.1.tgz userjumpserver:/transfer/注意内网环境中建议提前准备md5校验文件避免传输过程中数据损坏md5sum docker-26.1.1.tgz docker.md52. 二进制文件部署详解传统在线安装依赖网络下载组件而离线部署需要手动处理所有依赖关系。以下是经过验证的标准化操作流程# 解压安装包保留原始权限 tar -xvzf docker-26.1.1.tgz --preserve-permissions # 移动可执行文件到系统路径 sudo cp -p docker/* /usr/local/bin/关键组件说明文件名称功能描述必需性dockerdDocker守护进程★★★dockerCLI客户端工具★★★docker-proxy容器网络代理★★☆containerd容器运行时★★★ctrcontainerd CLI工具★☆☆环境变量配置建议# 在/etc/profile.d/docker.sh中添加 export DOCKER_HOME/var/lib/docker export PATH$PATH:/usr/local/bin3. Systemd服务深度定制离线环境中需要手动创建服务单元文件这是保证Docker稳定运行的核心配置。推荐使用以下优化配置# /etc/systemd/system/docker.service [Unit] DescriptionDocker Application Container Engine Afternetwork-online.target firewalld.service Requirescontainerd.service [Service] Typenotify ExecStart/usr/local/bin/dockerd \ --data-root/data/docker \ --log-driverjson-file \ --log-opt max-size100m \ --iptablesfalse RestartSec5 Restartalways TimeoutStartSecinfinity [Install] WantedBymulti-user.target关键参数解析--data-root指定镜像存储路径建议放在大容量分区--iptablesfalse内网环境通常不需要自动配置iptablesTypenotify确保服务就绪后才启动依赖组件激活服务的完整命令序列sudo systemctl daemon-reload sudo systemctl enable --now docker sudo systemctl status containerd # 验证依赖服务4. 离线镜像迁移方案在内网环境中部署应用需要预先在外网环境准备镜像包。以下是经过实战检验的镜像搬运方法单镜像打包方案# 在外网机器执行 docker save -o nginx-1.25.3.tar nginx:1.25.3 # 在内网机器加载 docker load -i nginx-1.25.3.tar批量镜像迁移技巧使用docker-compose build构建完整应用栈通过以下脚本批量导出#!/bin/bash for image in $(docker-compose config | grep image: | awk {print $2}); do outfile$(echo $image | sed s/[^a-zA-Z0-9]/_/g).tar docker save -o $outfile $image done镜像层级优化建议在外网环境使用docker history分析镜像层级合并相似基础镜像减少传输量优先选择Alpine等小型化基础镜像5. 常见故障排查指南离线环境下的典型问题及解决方案问题1依赖库缺失# 检查动态链接库 ldd $(which dockerd) # 解决方案从开发机拷贝缺失的.so文件到/usr/lib64/问题2存储驱动不兼容Error initializing graphdriver: driver not supported修改/etc/docker/daemon.json{ storage-driver: overlay2 }问题3SELinux冲突# 临时关闭 setenforce 0 # 永久配置 sed -i s/SELINUXenforcing/SELINUXpermissive/g /etc/selinux/config6. 安全加固建议内网环境同样需要重视容器安全权限控制groupadd docker usermod -aG docker $USER chmod 660 /var/run/docker.sock日志审计# 在docker.service中添加 ExecStartPost/usr/bin/logger -t docker -p local5.notice资源限制// /etc/docker/daemon.json { default-ulimits: { nofile: { Name: nofile, Hard: 64000, Soft: 32000 } } }在实际部署金融行业内网容器平台时采用上述方案成功在200节点完成离线部署关键步骤是提前准备完整的依赖树检查清单。每个离线环境都有其特殊性建议先在测试环境验证所有操作流程。

相关新闻