当前位置: 首页 > java >正文

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

一、准备工作

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

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

2. 传输到目标机器

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

二、安装 Docker

1. 解压并安装

# 解压安装包
tar -zxvf docker-24.0.6.tgz# 复制二进制文件到系统目录
cp docker/* /usr/bin/

2. 配置 Systemd 服务

vim /etc/systemd/system/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
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s[Install]
WantedBy=multi-user.target

​3. 启动服务

# 加载配置
systemctl daemon-reload# 启动并设置开机自启
systemctl start docker
systemctl enable docker# 验证安装
docker --version  # 应输出 Docker version 24.0.6

三、安装 Docker Compose

1. 安装二进制文件

# 移动并重命名
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. 创建软链接(可选)​

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

四、进阶配置

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

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

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

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

五、常见问题解决

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

六、验证安装

# 运行测试容器
docker run hello-world# 输出应包含 "Hello from Docker!"

七、卸载方法

# 停止服务
systemctl stop docker
systemctl disable docker# 删除文件
rm -rf /usr/bin/docker*
rm -f /etc/systemd/system/docker.service# 清理残留
rm -rf /var/lib/docker

八、离线镜像导入

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

docker pull nginx:alpine
docker save -o nginx-alpine.tar nginx:alpine

2. 离线机器导入:

docker load -i nginx-alpine.tar
http://www.xdnf.cn/news/5245.html

相关文章:

  • 【Linux基础】程序和软件安装管理命令
  • Python爬虫学习路径与实战指南 06
  • Java基础 集合框架 Collection接口和抽象类AbstractCollection
  • Java Spring 常用注解详解
  • 算法-贪婪算法
  • en33网络配置文件未托管
  • 【MyBatis-7】深入理解MyBatis二级缓存:提升应用性能的利器
  • Python核心编程深度解析:作用域、递归与匿名函数的工程实践
  • 17.Excel:实用的 VBA 自动化程序
  • # YOLOv3:深度学习中的目标检测利器
  • linux-----------Ext系列⽂件系统(上)
  • # Java List完全指南:从入门到高阶应用
  • 栈应用:辅助站(c++)
  • C#异步Task,await,async和Unity同步协程
  • 玩转Docker | 使用Docker部署Note Mark笔记应用程序
  • [架构之美]Spring Boot集成MyBatis-Plus高效开发(十七)
  • 求两个正整数的最大公约数和最小公倍数:方法1:辗转相除法
  • 01 | 大模型微调 | 从0学习到实战微调 | AI发展与模型技术介绍
  • STM32实现九轴IMU的卡尔曼滤波
  • 如何在postman使用时间戳
  • Windows下的临界写法
  • 回文数(9)
  • 气象大模型光伏功率预测中的应用:从短期,超短期,中长期的实现与开源代码详解
  • C++GO语言微服务之图片、短信验证码生成及存储
  • 【沉浸式求职学习day35】【Tomcat安装、配置】【Http简述】
  • Linux指令入门:DevOps与SRE视角
  • SDC命令详解:使用all_outputs命令进行查询
  • 轻松制作高质量视频,实时生成神器LTX-Video重磅登场!
  • 睿思量化小程序
  • LeetCode 88. 合并两个有序数组 | Python 最简写法 + 实战注释