本教程以kylin_server_v10_x86_64为例,核心思路也适用于其他Linux操作系统和架构
参考官方文档
Docker Engine 二进制安装:https://docs.docker.com/engine/install/binaries/
Docker Compose 插件手动安装:https://docs.docker.com/compose/install/linux/#install-the-plugin-manually
一、下载所需离线包
需下载 2 个核心离线文件,建议统一传输到服务器/tmp/docker-offline/目录(下文均以此路径为例):
离线包 1:Docker Engine 静态二进制包
选择 x86_64 架构目录,下载指定版本(示例为 29.3.0):https://download.docker.com/linux/static/stable/x86_64/docker-29.3.0.tgz
文件名格式:
docker-<版本号>.tgz(官方标准命名)
离线包 2:Docker Compose 插件二进制文件
下载对应架构版本(示例为 v5.0.1):https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64
文件名:
docker-compose-linux-x86_64(官方原生命名,不可随意修改)
下载完成后,服务器/tmp/docker-offline/目录下应包含:docker-29.3.0.tgz、docker-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目录,内含dockerd、docker等核心二进制文件。
步骤 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