【Docker】离线安装 Docker_docker 离线安装
内网环境下离线安装 Docker 的详细步骤:
一、系统要求检查
-
确认内核版本
Docker 要求 Linux 内核版本≥3.10,通过以下命令查看:uname -r# 示例输出:3.10.0-957.5.1.el7.x86_64(需满足≥3.10)
-
确认系统版本
需为 CentOS 7 系列,查看命令:cat /etc/redhat-release# 示例输出:CentOS Linux release 7.6.1810 (Core)
二、下载并解压 Docker 二进制文件
-
下载二进制包
在有网络的环境中,从 Docker 官方静态文件地址下载对应版本的 tgz 包:- 下载地址:Index of linux/static/stable/x86_64/
- 选择合适版本(如
docker-26.1.3.tgz
),下载后传输到内网服务器。
-
解压文件
在服务器上解压下载的 tgz 包:tar -zxvf docker-26.1.3.tgz # 替换为实际下载的文件名
三、安装 Docker
-
复制文件到系统目录
将解压出的docker
文件夹内的所有文件复制到/usr/bin/
(系统可执行目录):cp docker/* /usr/bin/
-
验证基础安装
执行以下命令,若输出版本信息则基础文件复制成功:docker -v # 或 docker info
四、配置 Docker 服务(开启守护进程)
-
创建服务配置文件
编写docker.service
文件,用于系统管理 Docker 服务:vim /etc/systemd/system/docker.service
填入以下内容(根据需求选择是否开启远程连接):
[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network-online.target firewalld.serviceWants=network-online.target[Service]Type=notify# 不开启远程连接(默认)ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock --selinux-enabled=false --default-ulimit nofile=65536:65536# 如需开启远程连接,替换为以下行(允许所有IP通过2375端口访问)# ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --selinux-enabled=false --default-ulimit nofile=65536:65536ExecReload=/bin/kill -s HUP $MAINPIDLimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinityTimeoutStartSec=0Delegate=yesKillMode=processRestart=on-failureStartLimitBurst=3StartLimitInterval=60s[Install]WantedBy=multi-user.target
-
设置文件权限
赋予服务文件可执行权限:chmod +x /etc/systemd/system/docker.service
-
加载并启动服务
# 重新加载系统服务配置systemctl daemon-reload# 启动Docker服务systemctl start docker
五、配置 Docker 镜像源(可选)
-
创建配置文件
配置镜像加速(如阿里云)和日志限制,避免磁盘占用过高:# 创建目录和文件mkdir -p /etc/dockervim /etc/docker/daemon.json
填入以下内容(替换为个人镜像源):
{ \"registry-mirrors\": [\"https://ejes884z.mirror.aliyuncs.com\"], # 替换为自己的镜像源 \"log-driver\": \"json-file\", \"log-opts\": {\"max-size\": \"1g\", \"max-file\": \"3\"}, # 日志限制:单个文件1G,最多3个 \"live-restore\": true # 配置更新时自动加载,无需重启Docker}
-
重启 Docker 使配置生效
systemctl restart docker
六、Docker 服务管理命令
systemctl daemon-reload
systemctl start docker
systemctl status docker
systemctl stop docker
systemctl restart docker
systemctl enable docker
systemctl disable docker
systemctl is-enabled docker.service
docker -v
或 docker version
docker start $(docker ps -a -q)
七、离线环境中镜像的导入与导出
-
导出镜像(在有网络的服务器)
docker save 镜像ID > 镜像名.tar # 示例:docker save 99ee9af2b6b1 > redis.tar
-
导入镜像(在内网服务器)
docker load < 镜像名.tar # 示例:docker load < redis.tar
-
为导入的镜像添加标签
导入的镜像默认无名称和标签,需手动添加:docker tag 镜像ID 镜像名:版本号 # 示例:docker tag 99ee9af2b6b1 redis:3.2.0
通过以上步骤,即可在无网络的内网环境中完成 Docker 的离线安装与配置。