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
相关推荐
南境十里·墨染春水5 小时前
linux学习进展 进程
linux·运维·学习
cyber_两只龙宝5 小时前
【Oracle】Oracle之DQL中SELECT的基础使用
linux·运维·服务器·数据库·云原生·oracle
云栖梦泽5 小时前
Linux内核与驱动:10.平台总线platform
linux
Deitymoon5 小时前
linux——TCP多进程并发服务器
linux·服务器·tcp/ip
网络安全许木5 小时前
自学渗透测试第15天(基础复习与漏洞原理入门)
linux·网络安全·渗透测试·kali linux
Hello World . .5 小时前
linux驱动编程2 : uboot、Linux内核、rootfs来源及制作流程
linux·运维·服务器
geinvse_seg5 小时前
开源实战——手把手教你搭建AI量化分析平台:从Docker部署到波浪理论实战
人工智能·docker·开源·蓝耘元生代·蓝耘maas
啦啦啦_99995 小时前
1. Linux常用命令
linux·运维·服务器
大白菜和MySQL5 小时前
openEuler-20.03-LTS系统 nextcloud网盘搭建
linux