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
相关推荐
眠修17 分钟前
Kuberrnetes 服务发布
linux·运维·服务器
hunjinYang36 分钟前
Tomcat镜像实战:掌握Dockerfile的编写以及发布项目
docker·tomcat
好奇的菜鸟1 小时前
Docker 配置项详解与示例
运维·docker·容器
即将头秃的程序媛3 小时前
centos 7.9安装tomcat,并实现开机自启
linux·运维·centos
fangeqin3 小时前
ubuntu源码安装python3.13遇到Could not build the ssl module!解决方法
linux·python·ubuntu·openssl
爱奥尼欧5 小时前
【Linux 系统】基础IO——Linux中对文件的理解
linux·服务器·microsoft
超喜欢下雨天5 小时前
服务器安装 ros2时遇到底层库依赖冲突的问题
linux·运维·服务器·ros2
tan77º6 小时前
【Linux网络编程】网络基础
linux·服务器·网络
笑衬人心。6 小时前
Ubuntu 22.04 + MySQL 8 无密码登录问题与 root 密码重置指南
linux·mysql·ubuntu
IT成长日记7 小时前
【Docker基础】Docker数据卷管理:docker volume inspect及其参数详解
运维·docker·容器·volume·inspect