麒麟系统离线安装 Docker - 完整详细步骤
本文提供了在银河麒麟系统上离线安装Docker的完整指南。主要内容包括: 准备工作:确认系统架构(x86_64或ARM64),下载对应版本的Docker二进制包和Docker Compose(可选) 安装步骤: 解压Docker安装包 复制二进制文件到系统路径 创建并配置systemd服务 启动Docker服务并设置开机自启 可选配置: 安装Docker Compose 配置镜像加速器 设置非ro
麒麟系统离线安装 Docker - 完整详细步骤
下面是在银河麒麟系统上离线安装 Docker 的完整指南,包含从环境检查到安装验证的所有步骤。本文以最稳定的 官方二进制包方式 进行安装,适用于 x86_64 和 ARM64(aarch64) 架构。
一、准备工作(在有网络的电脑上)
1.1 确认麒麟系统的 CPU 架构
首先需要知道你的麒麟系统是什么架构,这决定了下载哪个安装包。在麒麟系统的终端中执行:
uname -m
输出结果说明:
x86_64→ Intel/AMD 64位架构aarch64→ ARM 架构(如鲲鹏、飞腾处理器)
1.2 下载 Docker 离线安装包
在能上网的电脑上,访问 Docker 官方静态包下载地址:
- x86_64 架构:https://download.docker.com/linux/static/stable/x86_64/
- aarch64 架构:https://download.docker.com/linux/static/stable/aarch64/
版本选择建议:对于政企内网环境,推荐选择 20.10.x 系列(如 20.10.24),该版本经过大量生产验证,稳定性最好。
下载示例(替换为实际版本号):
- x86_64:
docker-20.10.24.tgz - aarch64:
docker-20.10.24.tgz
1.3 (可选)下载 Docker Compose
如果需要 Docker Compose,访问 GitHub 发布页下载对应架构的二进制文件:
https://github.com/docker/compose/releases
选择 docker-compose-linux-x86_64 或 docker-compose-linux-aarch64。
二、将安装包传到麒麟服务器
使用 U 盘、SCP 或 FTP 将下载的文件传输到麒麟服务器,例如放到 /opt/docker/ 目录:
# 在麒麟服务器上创建目录
sudo mkdir -p /opt/docker
# 通过 scp 从本机上传(在本机执行)
scp docker-20.10.24.tgz 用户名@麒麟服务器IP:/opt/docker/
三、麒麟服务器上的安装步骤
3.1 进入存放目录并解压
cd /opt/docker
tar -xzvf docker-20.10.24.tgz
解压后会得到一个 docker 文件夹,里面包含 dockerd、docker、containerd 等二进制文件。
3.2 复制二进制文件到系统路径
# 将 docker 文件夹下的所有文件复制到 /usr/bin/
sudo cp -p docker/* /usr/bin/
3.3 创建 Docker 系统服务文件(systemd)
创建服务文件 /usr/lib/systemd/system/docker.service:
sudo vi /usr/lib/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
KillMode=process
Restart=always
RestartSec=5s
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Delegate=yes
[Install]
WantedBy=multi-user.target
3.4 重新加载并启动 Docker 服务
# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 启动 Docker
sudo systemctl start docker
# 设置 Docker 开机自启
sudo systemctl enable docker
3.5 验证安装是否成功
docker --version
正常输出示例:Docker version 20.10.24, build 297e128
docker ps
正常输出示例(空列表但无报错):
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
四、安装 Docker Compose(可选)
# 将下载的 docker-compose 文件复制到 /usr/local/bin/
sudo cp /opt/docker/docker-compose-linux-xxx /usr/local/bin/docker-compose
# 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 验证安装
docker-compose --version
五、配置镜像加速器(强烈推荐)
在内网环境中,不配置镜像加速会导致拉取镜像失败或超时。创建配置文件:
sudo mkdir -p /etc/docker
sudo vi /etc/docker/daemon.json
填入以下内容(可使用阿里云、腾讯云等加速地址):
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://hub-mirror.c.163.com",
"https://docker.m.daocloud.io"
],
"data-root": "/data/docker",
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "5"
},
"exec-opts": ["native.cgroupdriver=systemd"]
}
保存后重启 Docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
验证加速配置是否生效:
docker info | grep -A5 "Registry Mirrors"
六、配置非 root 用户使用 Docker(可选)
避免每次命令都要输入 sudo:
# 创建 docker 组(通常已存在)
sudo groupadd docker
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER
# 使权限立即生效(或重新登录)
newgrp docker
# 验证(无需 sudo)
docker ps
七、离线环境导入镜像的方法
在内网中无法直接 docker pull,需要从外网导出镜像再导入:
在外网电脑上:
# 拉取需要的镜像
docker pull nginx:latest
# 导出为 tar 文件
docker save nginx:latest -o nginx.tar
将 tar 文件传到麒麟服务器后:
# 导入镜像
docker load -i nginx.tar
# 验证
docker images
八、常见问题排查
问题1:启动 Docker 时报 “permission denied”
检查当前用户是否有权限:
# 将用户加入 docker 组
sudo usermod -aG docker $USER
# 重新登录或执行
newgrp docker
问题2:防火墙导致容器网络问题
# 检查防火墙状态
systemctl status firewalld
# 如果不需要防火墙,可暂时关闭(根据安全策略决定)
sudo systemctl stop firewalld
问题3:内核版本过低
Docker 要求内核版本 3.10 以上:
uname -r
# 如果低于 3.10,需要先升级内核
问题4:cgroup 相关错误
如果启动容器时出现 cgroup 错误,在 /etc/docker/daemon.json 中添加:
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
然后重启 Docker。
九、常用 Docker 命令速查
| 命令 | 说明 |
|---|---|
docker ps |
列出运行中的容器 |
docker ps -a |
列出所有容器(包括停止的) |
docker images |
列出本地镜像 |
docker pull 镜像名 |
拉取镜像(需联网) |
docker run -d --name 容器名 镜像名 |
后台运行容器 |
docker stop 容器名 |
停止容器 |
docker rm 容器名 |
删除容器 |
docker rmi 镜像ID |
删除镜像 |
docker logs 容器名 |
查看容器日志 |
docker exec -it 容器名 /bin/bash |
进入容器内部 |
总结
以上是在麒麟系统上离线安装 Docker 的完整流程。核心要点:
- 根据 CPU 架构(
uname -m)选择对应版本的安装包 - 推荐使用 官方二进制包 方式,不依赖网络和仓库
- 通过 systemd 服务文件 管理 Docker 守护进程
- 配置 镜像加速器 解决内网拉取镜像问题
- 离线环境下使用 docker save/load 传递镜像
如果你的麒麟系统是申威(sw_64)或其他特殊架构,需要寻找专门为该架构编译的 Docker 包,通用的 x86/ARM 包将无法安装。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)