保姆级教程!Linux 内网环境离线安装 Docker(含 docker
保姆级教程! Linux 内网环境离线安装Docker(含docker-compose)
在企业里,很多服务器都是内网隔离的,没法直接连互联网,想装 Docker 可难坏了不少小伙伴。今天就给大家带来一份超详细的Linux离线安装Docker指南,不管你是Ubuntu 24还是其他Linux系统,跟着步骤走,小白也能轻松搞定,还附带docker-compose部署方法,赶紧码住!
一、前期准备: 下载 所需文件
首先得把离线 安装包 和相关工具准备好,所有文件都要提前下载到能联网的电脑,再拷贝到内网服务器上。
下载地址:https://download.docker.com/linux/static/stable/
进入页面后,根据服务器架构选择目录(大部分服务器是x86_64架构,直接点x86_64文件夹)选择想要的版本,比如本文用的docker-29.1.3.tgz(版本号可按需选择,后缀都是.tgz)下载完成后,把这个tgz压缩包拷贝到内网服务器的任意目录(比如~/docker) 2. docker-compose 二进制文件如果需要编排多个容器,得装docker-compose:
下载地址:https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64直接下载这个二进制文件,后续会用到二、服务器上配置文件:3个关键文件+权限设置
在服务器上,进入Docker安装包所在的目录(比如~/docker),创建3个重要文件,复制粘贴内容即可,不用懂原理!
1. 创建docker.service文件(让Docker能开机自启)新建文件命令:touch docker.service
然后把下面的内容复制进去(直接全选复制,粘贴到文件里):
[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity TimeoutStartSec=0 Delegate=yes KillMode=process Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target
12345678910111213141516171819202122这个文件是Docker的系统服务配置,保证Docker能正常启动和自启。
2. 创建安装脚本(一键安装,避免手动输命令)新建脚本文件:touch install.sh
复制以下内容到文件中:
#!/bin/sh echo '解压tar包......' tar -xvf $1 --overwrite echo '将docker目录移到/usr/bin目录下.....' cp docker/* /usr/bin/ echo '将docker.service 移到/etc/systemd/system/ 目录.....' cp docker.service /etc/systemd/system/ echo '添加文件权限.....' chmod +x /etc/systemd/system/docker.service echo '重新加载配置文件.....' systemctl daemon-reload echo '启动docker.....' systemctl start docker echo '设置开机自启.....' systemctl enable docker.service echo 'docker安装成功.....' docker -v
12345678910111213141516173. 创建卸载脚本(后续想卸载直接用)新建卸载脚本:touch uninstall.sh
复制以下内容:
#!/bin/sh echo '删除docker.service......' rm -f /etc/systemd/system/docker.service echo '删除docker文件......' sudo rm -rf /usr/bin/docker* sudo rm -rf /usr/bin/containerd* sudo rm -rf /var/run/docker* sudo rm -rf /usr/local/bin/docker-compose sudo rm -rf /var/lib/docker* sudo rm -rf /var/lib/containerd* echo '重新加载配置文件' systemctl daemon-reload echo '卸载成功...'
123456789101112134. 给脚本赋权限(让脚本能执行)执行以下命令,给两个脚本添加可执行权限:
chmod +x install.sh uninstall.sh 1

三、一键安装Docker:执行脚本就行
用root权限执行安装脚本,后面跟下载的Docker压缩包名称(比如docker-29.1.3.tgz):
sudo ./install.sh docker-29.1.3.tgz 1

执行后会看到一系列输出,最后出现类似下面的内容,就说明安装成功了:
docker安装成功..... Docker version 28.4.0, build d8eb465 12
如果不想用脚本,也可以把install.sh里的命令逐行手动执行,效果一样。
四、测试Docker:加载镜像+启动容器
离线环境下没法在线拉取镜像,所以要从其他能联网的服务器拷贝镜像文件过来,步骤如下:
1. 从外网服务器导出镜像(以Nginx为例)在能联网的Linux服务器上,先拉取Nginx镜像,再导出为tar文件:
# 拉取Nginx镜像(版本1.21.5) docker pull nginx:1.21.5 # 导出镜像为tar文件(生成nginx.tar) docker save -o nginx.tar nginx:1.21.5 12342. 拷贝镜像到内网服务器
把生成的nginx.tar文件,通过U盘、内网传输工具等拷贝到刚安装好Docker的内网服务器上。
3. 内网服务器加载镜像执行以下命令,加载拷贝过来的镜像:
sudo docker load -i nginx.tar 14. 查看镜像+启动容器
# 查看已加载的镜像 sudo docker images # 启动Nginx容器(映射80端口) sudo docker run -p 80:80 nginx:1.21.5 12345. 验证服务
启动后,打开内网 浏览器 ,输入服务器IP(比如http://192.168.1.100),能看到Nginx的默认页面,就说明Docker完全能用了!
五、配置Docker用户组:不用每次都输sudo
默认情况下,非root用户执行Docker命令都要加sudo,配置用户组后就不用了,步骤如下:
1. 查看是否存在docker用户组getent group docker 12. 不存在则创建用户组
如果上面的命令没有输出,执行以下命令创建:
sudo groupadd docker 13. 将当前用户添加到docker组
把你的用户名(比如your_username)添加到docker组:
# 方法1 sudo usermod -aG docker your_username # 方法2(效果一样) sudo gpasswd -a your_username docker 12344. 生效用户组配置
执行以下命令,让配置立即生效(不用重启服务器):
newgrp docker 1
之后再执行docker images、docker run等命令,就不用加sudo了,方便很多!
六、离线安装docker-compose
如果需要编排多个容器(比如Web+数据库),就需要装docker-compose,步骤很简单:
1. 拷贝二进制文件到指定目录把之前下载的docker-compose-linux-x86_64文件,拷贝到/usr/local/bin/目录下,并重命名为docker-compose:
# 进入文件所在目录,执行拷贝+重命名 sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose 122. 给docker-compose赋权限
sudo chmod +x /usr/local/bin/docker-compose 13. 验证安装
执行以下命令,能看到版本号就说明安装成功:
docker-compose --version 1
输出示例:Docker Compose version v2.5.0
七、常见问题解决
执行脚本时提示“权限不够”:确保用了sudo,或者切换到root用户执行。启动Docker失败:检查docker.service文件内容是否正确,有没有复制完整。加载镜像时提示“no space left on device”:服务器磁盘空间不足,清理无用文件即可。非root用户执行Docker命令报错:检查是否配置了docker用户组,有没有执行newgrp docker生效。总结
离线安装Docker的核心就是“提前准备文件+脚本自动化部署”,虽然比在线安装多了几步准备工作,但只要跟着教程走,就能高效搞定内网环境的Docker部署。
相关知识
保姆级教程!Linux 内网环境离线安装 Docker(含 docker
Windows 环境下安装 Docker 的详细教程(超详细图文)
Docker 教程(图文讲解)
linux docker 安装报错:Requires: container
什么是docker容器技术
Docker[容器管理引擎]
Linux 容器化技术详解(虚拟化、容器化、Docker)
docker容器技术与应用
花了三天时间终于搞懂 Docker 网络了
centos 安装docker时出现依赖关系问题的解决办法
原文链接: 保姆级教程!Linux 内网环境离线安装 Docker(含 docker https://www.huajiangbk.com/newsview2606743.html
| 上一篇: Dify 公司内网部署教程及踩坑... | 下一篇: 花店备货攻略——七夕篇 |
推荐分享

- 1情趣大湿丨图解100种嘿嘿嘿... 26042
- 2明日花キララ:明日花绮罗年度... 8806
- 3明日花キララ(明日花绮罗)经... 4885
- 4君子兰什么品种最名贵 十大名... 4741
- 5十大致癌花卉排行榜,哪些花卉... 4007
- 6世界上最名贵的10种兰花图片... 3899
- 7花圈挽联怎么写? 3876
- 8李晓明工笔牡丹(魏紫)《牡丹... 3796
- 9兰花叶子扭的是什么兰 3778
- 10鲜花养护:帝王花的养殖方法以... 3748




