Linux 离线安装 Docker 和 Docker Compose 最新版 的完整指南

一、准备工作

1. 下载安装包​(需在有网络的机器操作):

  • Docker 引擎:从官方仓库下载最新二进制包
bash 复制代码
wget https://download.docker.com/linux/static/stable/x86_64/docker-24.0.6.tgz
  • Docker Compose:下载最新二进制文件
bash 复制代码
wget https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64

2. 传输到目标机器

  • 通过 USB、内网传输工具等将文件拷贝至离线服务器的 /opt/docker-offline 目录。

二、安装 Docker

1. 解压并安装

bash 复制代码
# 解压安装包
tar -zxvf docker-24.0.6.tgz

# 复制二进制文件到系统目录
cp docker/* /usr/bin/

2. 配置 Systemd 服务

bash 复制代码
vim /etc/systemd/system/docker.service
  • 内容如下(根据实际路径调整):
bash 复制代码
[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
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

​3. 启动服务

bash 复制代码
# 加载配置
systemctl daemon-reload

# 启动并设置开机自启
systemctl start docker
systemctl enable docker

# 验证安装
docker --version  # 应输出 Docker version 24.0.6

三、安装 Docker Compose

1. 安装二进制文件

bash 复制代码
# 移动并重命名
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose

# 赋予执行权限
chmod +x /usr/local/bin/docker-compose

# 验证版本
docker-compose --version  # 应输出 Docker Compose version v2.27.0

2. 创建软链接(可选)​

bash 复制代码
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

四、进阶配置

1. 配置镜像加速(可选)​

bash 复制代码
vim /etc/docker/daemon.json
  • 添加国内镜像源(如阿里云):
bash 复制代码
{
  "registry-mirrors": ["https://<your-mirror-id>.mirror.aliyuncs.com"]
}
  • 重启服务:
bash 复制代码
systemctl restart docker

2. 存储目录修改(可选)​

bash 复制代码
vim /etc/docker/daemon.json
  • 添加数据存储路径:
bash 复制代码
{
  "data-root": "/opt/docker-data"
}

五、常见问题解决

问题现象 解决方案
docker: command not found 检查 /usr/bin/docker 是否存在
Failed to start docker 查看日志 journalctl -u docker.service
Docker Compose 命令失效 重新安装二进制文件并赋予权限

六、验证安装

bash 复制代码
# 运行测试容器
docker run hello-world

# 输出应包含 "Hello from Docker!"

七、卸载方法

bash 复制代码
# 停止服务
systemctl stop docker
systemctl disable docker

# 删除文件
rm -rf /usr/bin/docker*
rm -f /etc/systemd/system/docker.service

# 清理残留
rm -rf /var/lib/docker

八、离线镜像导入

1. ​在有网络的机器导出镜像:

bash 复制代码
docker pull nginx:alpine
docker save -o nginx-alpine.tar nginx:alpine

2. 离线机器导入:

bash 复制代码
docker load -i nginx-alpine.tar
相关推荐
jimy111 小时前
安卓里运行Linux
linux·运维·服务器
爱凤的小光12 小时前
Linux清理磁盘技巧---个人笔记
linux·运维
耗同学一米八13 小时前
2026年河北省职业院校技能大赛中职组“网络建设与运维”赛项答案解析 1.系统安装
linux·服务器·centos
知星小度S14 小时前
系统核心解析:深入文件系统底层机制——Ext系列探秘:从磁盘结构到挂载链接的全链路解析
linux
2401_8904430214 小时前
Linux 基础IO
linux·c语言
智慧地球(AI·Earth)15 小时前
在Linux上使用Claude Code 并使用本地VS Code SSH远程访问的完整指南
linux·ssh·ai编程
原神启动115 小时前
Docker 场景化作业:生产环境容器操作实训
运维·docker·容器
老王熬夜敲代码16 小时前
解决IP不够用的问题
linux·网络·笔记
zly350016 小时前
linux查看正在运行的nginx的当前工作目录(webroot)
linux·运维·nginx
QT 小鲜肉16 小时前
【Linux命令大全】001.文件管理之file命令(实操篇)
linux·运维·前端·网络·chrome·笔记