站长阿楠
站长阿楠
发布于 2026-03-08 / 9 阅读
0
0

Linux 下二进制方式离线安装 Docker

本教程以kylin_server_v10_x86_64为例,核心思路也适用于其他Linux操作系统和架构

参考官方文档

一、下载所需离线包

需下载 2 个核心离线文件,建议统一传输到服务器/tmp/docker-offline/目录(下文均以此路径为例):

离线包 1:Docker Engine 静态二进制包

离线包 2:Docker Compose 插件二进制文件

下载完成后,服务器/tmp/docker-offline/目录下应包含:docker-29.3.0.tgzdocker-compose-linux-x86_64

二、Docker Engine 离线安装

基于官方二进制安装逻辑,适配麒麟 V10 的 systemd 服务管理(实现开机自启 + 后台运行),全程使用具体文件名操作。

步骤 1:创建目录并解压离线包

# 确保离线文件存放目录存在(若已创建可跳过)
mkdir -p /tmp/docker-offline
# 进入离线包核心目录
cd /tmp/docker-offline
# 解压Docker Engine静态包(使用具体文件名)
tar xzvf docker-29.3.0.tgz docker

解压后会生成docker目录,内含dockerddocker等核心二进制文件。

步骤 2:将二进制文件移至系统可执行路径

将解压后的二进制文件移至/usr/bin/,实现系统全局调用:

sudo cp docker/* /usr/bin/
# 可选:验证文件是否成功移动
ls -lh /usr/bin/ | grep -E "dockerd|docker"

步骤 3:配置 systemd 服务

官方仅提供临时启动方式,为适配服务器生产环境,需配置 systemd 服务实现规范化管理:

# 创建并写入docker服务配置文件
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
TimeoutSec=0
RestartSec=2
Restart=always
SuccessExitStatus=0 1

[Install]
WantedBy=multi-user.target
EOF

步骤 4:重载 systemd 并启动 Docker 服务

# 重载systemd配置,使新的docker服务生效
sudo systemctl daemon-reload
# 启动Docker服务
sudo systemctl start docker
# 可选:设置开机自启(服务器推荐)
sudo systemctl enable docker
# 可选:验证服务运行状态(无error即为正常)
sudo systemctl status docker

步骤 5:验证 Docker Engine 安装成功

# 核心验证:输出版本号即为安装成功
docker --version

成功标识:输出Docker version 29.3.0, build xxxxxxx(与下载的版本号一致)。

三、Docker Compose 插件 离线安装

基于官方 “手动安装插件” 逻辑,使用原生文件名操作,提供全局安装方式(所有用户可用,服务器推荐)。

步骤 1:进入离线文件目录并创建插件目录

# 回到离线文件核心目录
cd /tmp/docker-offline
# 创建Docker Compose插件官方标准目录(不可修改)
sudo mkdir -p /usr/local/lib/docker/cli-plugins

步骤 2:移动并重命名插件文件

将原生文件docker-compose-linux-x86_64移至插件目录,并标准化命名(使docker命令可直接识别):

# 核心操作:移动并命名为docker-compose(官方标准)
sudo cp docker-compose-linux-x86_64 /usr/local/lib/docker/cli-plugins/docker-compose

步骤 3:添加可执行权限

sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

步骤 4:验证 Docker Compose 安装成功

# 官方标准验证命令
docker compose version

成功标识:输出Docker Compose version v5.0.1(与下载的插件版本号一致)。

四、可能遇到的runc 错误

该问题会导致容器出现权限问题而无法启动,主要在Kylin操作系统上出现

报错信息

Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: container_linux.go:329: starting container process caused "permission denied"

解决方法一

针对系统存在多个runc的情况

检查当前系统存在的runc

whereis runc

若有两个,则删除其中一个(或改名并备份到其他位置)

解决方法二

针对runc版本太低的情况

下载runc的最新版本:https://github.com/opencontainers/runc/releases,并替换本地的1.0.0-rc3版本

sudo mv -f runc.amd64 /usr/bin/runc

设置可执行权限

sudo chmod +x /usr/bin/runc


评论