Linux系统离线手动安装docker【最简单精简版】

# 1. 在能上网的机器下载二进制包(AARCH64)
wget https://download.docker.com/linux/static/stable/aarch64/docker-24.0.2.tgz

# 2. 传输到openEuler服务器(例如通过scp)
# 3. 在openEuler上执行
tar -zxvf docker-24.0.2.tgz
sudo cp docker/* /usr/bin/

# 4. 创建systemd服务文件
sudo tee /etc/systemd/system/docker.service <<EOF
[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
Restart=on-failure
StartLimitInterval=0
RestartSec=1

[Install]
WantedBy=multi-user.target
EOF

# 5. 启动服务
sudo systemctl daemon-reload
sudo systemctl enable docker
sudo systemctl start docker

✅ 验证安装结果

$ docker version
Client: Docker Engine - Community
 Version:           24.0.2
 API version:       1.43
 Go version:        go1.20.6
 Git commit:        ced0996
 Built:             Mon Jun  5 22:28:14 2023
 OS/Arch:           linux/arm64
 Context:           default
 Server: Docker Engine - Community
 Engine:
  Version:          24.0.2
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.6
  Git commit:       ced0996
  Built:            Mon Jun  5 22:27:50 2023
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.21
  GitCommit:        3061f73c6b44e50d6b3b9d36d9a725d5d43336d2
...

在这里插入图片描述


此方案已在openEuler 22.03-LTS 实测通过,可稳定安装Docker 24.x+版本。

<think>好的,我现在需要帮用户在Linux系统离线安装Docker 28.0.4版本,并且要处理依赖项和具体步骤。首先,用户提到使用KubeKey支持的操作系统,比如Ubuntu、Debian等,所以可能需要考虑这些系统的依赖包。 首先,Docker离线安装通常需要下载几个主要组件:Docker Engine、CLI、Containerd等。但Docker官方并没有直接提供特定版本的离线包,可能需要手动下载deb或rpm包。用户指定的是28.0.4版本,但根据Docker的发布历史,可能这个版本号是否准确?比如,Docker Engine的版本通常是20.10.x这样的,28.0.4可能不存在。这里可能存在版本号误解,需要确认。比如,Docker CLI和Engine的版本可能不同,或者用户可能指的是其他组件? 假设用户确实需要28.0.4,可能需要检查Docker的官方仓库是否有对应的包。比如,在https://download.docker.com/linux/ 下查看各个发行版的目录。例如,对于Ubuntu,可以找到pool/stable/下的amd64/目录,查找具体的deb包。 步骤可能包括: 1. 在有网络的环境下载所有需要的deb/rpm包及其依赖。 2. 将包转移到目标机器。 3. 使用dpkg或rpm安装这些包,并按顺序解决依赖。 但依赖项的处理比较麻烦,特别是离线环境下。可能需要使用apt-offline或创建本地仓库。例如,在Debian/Ubuntu系统上,可以使用dpkg -i安装所有下载的deb包,但如果缺少依赖,安装会失败。这时候需要提前下载所有依赖包。 另外,用户提到的KubeKey支持的系统中,比如ubuntu-22.04,可能需要确认该系统的架构,如amd64或arm64。假设用户使用的是amd64架构。 所以具体步骤可能如下: 1. 在有网络的机器上下载Docker 28.0.4的所有deb包及其依赖项。可能需要使用apt-get download命令,或者使用docker.com的仓库直接下载。 但这里问题在于,Docker的版本命名可能不同。比如,Docker CE的版本号结构是20.10.x,所以用户可能混淆了版本号。比如,28.0.4可能不存在,或者属于另一个组件。需要用户确认版本是否正确。假设用户确实需要某个特定版本,可能需要查找正确的包名。 例如,检查Docker的发布页面,发现最新的稳定版是24.0.7,所以可能用户提供的版本有误。这时候需要提示用户确认版本是否存在,或者是否有笔误。但用户可能坚持这个版本,所以需要进一步处理。 或者,可能用户指的是Docker CE 28.0.4,但可能实际不存在。这时可能需要建议用户检查版本号,或者寻找替代方案。但问题要求安装指定版本,所以可能需要假设用户是正确的,并继续。 另一个可能性是用户误将Kubernetes或其他工具的版本号当成了Docker的版本。例如,Docker通常不会出现28.0.4这样的版本,而Kubernetes可能有这样的版本,但不确定。 假设用户确实需要28.0.4,可能需要通过源码编译,但这比较复杂。或者可能用户指的是Docker的某个内部组件版本? 如果无论如何都要按照用户提供的版本来处理,可能需要先尝试寻找是否存在该版本的离线包。 比如,访问https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/ 查看可用的包。假设Ubuntu 22.04(jammy)为例,查看里面的包。例如,docker-ce_28.0.4_3-0_ubuntu-jammy_amd64.deb是否存在? 假设不存在,可能需要用户调整版本。或者可能用户指的是28.0.4的cli工具?这时候需要更多的信息。 但根据用户的问题,必须回答如何安装该版本,所以可能需要假设该版本存在,或者用户可能从其他来源获取了包。 如果无法找到官方包,可能需要用户自行下载或构建,但这对用户来说可能困难。 综上,可能的步骤为: 1. 在有网络的机器上下载Docker 28.0.4的deb/rpm包及其依赖。 - 使用apt-get download或者yumdownloader。 - 或者手动Docker仓库下载。 2. 传输这些包到目标机器。 3. 安装这些包,处理依赖顺序。 例如,对于Ubuntu/Debian系统: a. 添加Docker的仓库,但因为是离线环境,可能需要提前下载所有需要的包。或者使用另一台在线机器模拟下载。 b. 使用以下命令下载所有依赖: sudo apt-get install -y --download-only docker-ce=28.0.4 docker-ce-cli=28.0.4 containerd.io 但需要确认版本是否存在。如果不存在,apt会报错。 假设用户提供的版本存在,则可以将所有deb包下载到某个目录,然后复制到离线机器安装。 之后,在离线机器上使用dpkg -i *.deb安装,但需要注意依赖顺序,可能需要先安装依赖包,如containerd.io、docker-ce-cli,再安装docker-ce。 如果依赖项不全,安装会失败,这时候需要手动补全所有依赖包。 此外,还需要配置docker服务,并添加用户到docker组。 但问题在于,用户指定的版本可能不存在,所以步骤可能无法完成。这时候可能需要指出版本不存在,并建议用户检查版本号,或者提供可用的版本。 但根据用户的问题,必须按照指定版本来回答,因此可能需要假设该版本存在,或者用户已获取正确的包。 另外,用户提到的KubeKey支持的系统,如debian11,可能需要不同的包,步骤类似,但需要对应发行版的包。 综上,回答的步骤可能包括: 1. 准备在线环境下载包: 创建下载目录,使用apt或yum下载所有需要的包。 例如,对于Ubuntu: sudo mkdir -p /opt/docker-offline cd /opt/docker-offline sudo apt-get download docker-ce=28.0.4 docker-ce-cli=28.0.4 containerd.io docker-buildx-plugin docker-compose-plugin 但需要确认版本是否存在。 2. 将整个目录打包,复制到离线机器。 3. 在离线机器上安装: sudo dpkg -i /path/to/*.deb 4. 处理依赖问题,可能需要手动安装其他依赖包,例如libseccomp2等。 5. 配置docker服务: sudo systemctl enable docker --now 6. 验证安装docker version。 但关键问题是Docker 28.0.4是否存在。根据Docker的发布历史,目前最新的Docker CE版本是24.0.7(截至2023年10月),所以28.0.4可能不存在。这时候需要提示用户版本错误。 但用户可能输入错误,比如应该是20.10.4或者其他版本。所以回答中可能需要指出这一点,并建议用户检查版本号,或者调整步骤以适用于存在的版本。 但按照用户的问题,必须假设版本正确,因此可能在步骤中遇到困难,这时候需要说明如何寻找正确的包,或者建议用户参考官方文档。 综上,可能需要在回答中说明Docker版本的问题,并给出一般步骤,同时指出可能需要调整版本号。</think>### Linux系统Docker 28.0.4离线安装步骤 #### 一、环境准备 1. **确认系统兼容性** Docker官方支持的Linux发行版包括Ubuntu、Debian、CentOS等[^1]。需确保目标系统为以下版本之一: - Ubuntu 18.04/20.04/22.04 - Debian 10/11 - CentOS 7(需已安装`yum-utils`) 2. **依赖项检查** 离线安装需提前下载以下核心组件: - Docker Engine(`docker-ce`) - Docker CLI(`docker-ce-cli`) - Containerd(`containerd.io`) - 系统依赖包(如`libseccomp2`、`iptables`等) --- #### 二、离线安装步骤(以Ubuntu 22.04为例) 1. **在线环境下载离线包** 在可联网的机器上执行以下操作: ```bash # 创建下载目录 mkdir docker-offline && cd docker-offline # 添加Docker官方GPG密钥(需临时联网) curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 下载指定版本Docker包及其依赖 apt-get download \ docker-ce=5:28.0.4-1~ubuntu.22.04~jammy \ docker-ce-cli=5:28.0.4-1~ubuntu.22.04~jammy \ containerd.io \ docker-buildx-plugin \ docker-compose-plugin ``` > **注意**:Docker版本号格式为`5:[VERSION]`,若提示版本不存在,请通过[官方仓库](https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/)确认可用版本。 2. **传输文件到离线机器** 将`docker-offline`目录打包并复制到目标机器: ```bash tar czvf docker-offline.tar.gz docker-offline scp docker-offline.tar.gz user@offline-host:/tmp ``` 3. **离线安装** 在目标机器上执行: ```bash # 解压文件 cd /tmp && tar xzvf docker-offline.tar.gz # 安装所有包(需root权限) sudo dpkg -i /tmp/docker-offline/*.deb # 修复依赖问题(如有) sudo apt-get install -f -y ``` 4. **配置与验证** ```bash # 启动Docker服务 sudo systemctl enable docker --now # 验证安装 docker version --format 'Client: {{.Client.Version}}\nServer: {{.Server.Version}}' ``` 若输出包含`28.0.4`,则安装成功。 --- #### 三、依赖项说明 - **关键依赖包**: 若安装过程中提示缺少依赖项(如`libseccomp2`),需在在线环境中通过`apt-get download <package>`下载对应版本,并重复传输和安装步骤。 - **兼容性处理**: 对于CentOS系统,需使用`yumdownloader`工具下载RPM包,命令为: ```bash yum install yum-utils -y yumdownloader --resolve docker-ce-28.0.4 ``` --- #### 四、常见问题 1. **版本不存在错误** Docker CE版本命名规则为`20.10.x`,28.0.4可能不存在。建议通过以下命令查看可用版本: ```bash apt-cache madison docker-ce ``` 2. **依赖冲突** 若系统安装旧版Docker,需先卸载: ```bash sudo apt-get remove docker docker-engine docker.io containerd runc ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值