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

【国产化】在银河麒麟ARM环境下离线安装docker

1、前言

采用离线安装的方式。

关于离线安装的方式官网有介绍,但是说的很简单,网址:Binaries | Docker Docs

官网介绍的有几种主流linux系统的安装方式,但是没有kylin的,所以在此记录一下。

在安装过程中也遇到了些问题,走了些弯路。在此记录的只是某一种能正常安装的方式,也许也有其它方式能够安装成功,欢迎一起交流。

2、kylin系统信息

官网上有关于系统要求的:

系统版本信息

查看Linux内核

查看iptables版本

查看处理器架构

3、下载

官网下载对应版本:Index of linux/static/stable/

麒麟系统是arm架构的,下载aarch64版本,下载的是当时最新版

4、安装

将下载文件拷贝到kylin电脑目录下,解压:

将解压后的文件移动或拷贝到/usr/bin/目录下,注意使用sudo,后面的命令都要使用sudo。

mv docker/* /usr/bin/

此时就可以查看docker版本

5、配置docker服务

先创建两个系统文件(后面的操作都需要sudo)

docker.service

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
Requires=docker.socket[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
Delegate=yes
KillMode=process[Install]
WantedBy=multi-user.target

docker.socket

vim /etc/systemd/system/docker.socket

输入以下内容

[Unit]
Description=Docker Socket for the API
PartOf=docker.service[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker[Install]
WantedBy=sockets.target

为docker.service添加执行权限

chmod +x docker.service

编辑daemon.json,没有就创建

vim /etc/docker/daemon.json

输入以下内容

{"registry-mirrors":["https://mirrors.ustc.edu.cn"],"exec-opts":["native.cgroupdriver=systemd"]
}

所有的配置文件编辑并保存后,执行

systemctl daemon-reload

6、启动docker服务

systemctl start docker.service

如果想开机自动启动,输入以下指令:

systemctl enable docker.service

7、验证docker是否安装成功

执行 docker info 命令

能显示如下信息:

或者输入 docker version(注意:没有 - )

8、Hello world

熟悉的 hello world……

执行 docker run hello-world 命令

报错:docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

这种是镜像仓库路径配置的有问题,按照如下修改daemon.json:

{"registry-mirrors":["https://mirrors.ustc.edu.cn",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"],"exec-opts":["native.cgroupdriver=systemd"]
}

保存退出,执行下面的命令:

systemctl daemon-reload
systemctl restart docker.service
docket run hello-world

出现以上信息应该就说明docker安装的没问题了。

9、参考

Binaries | Docker Docs

银河麒麟操作系统 v10 中离线安装 Docker_银河麒麟离线安装docker-CSDN博客

kylin安装docker-CSDN博客

Docker does not start - Unit docker.socket failed to load · Issue #25098 · moby/moby · GitHub

解决Docker拉取镜像报错docker: Error response from daemon: Get “https://registry-1.docker.io/v2/“-CSDN博客

http://www.xdnf.cn/news/4454.html

相关文章:

  • Spring 如何解决循环依赖问题?
  • JavaScript性能优化:从青铜到王者的进阶之路
  • 从人体姿态到机械臂轨迹:基于深度学习的Kinova远程操控系统架构解析
  • Kubernetes(k8s)学习笔记(九)--搭建多租户系统
  • QMK键盘固件配置详解
  • 2025.05.07-华为机考第三题300分
  • DIFY教程第四弹:通过工作流来创建一个SQL语句的执行器
  • 【计算机基础】任意进制转换方法详解
  • 资产管理系统对比评测:从传统模式到 AI 驱动的变革
  • 引用的使用
  • [Es_1] 介绍 | 特点 | 图算法 | Trie | FST
  • 【C/C++】errno/strerror 和 GetLastError()/FormatMessage 的区别
  • 模拟设计中如何减小失配
  • 4.系统定时器基本定时器
  • 操作系统——第四章(文件的物理结构以及与逻辑结构的对比)
  • Redis相关命令详解与原理
  • 【Agent】使用 Python 结合 OpenAI 的 API 实现一个支持 Function Call 的程序,修改本机的 txt 文件
  • 如何检查 Watchtower 是否正常工作及更新未生效的排查方法【日常排错】
  • 探寻程序开发的个人密码
  • excel 批量导出图片并指定命名
  • Excel点击单元格内容消失
  • 龙虎榜——20250507
  • LVGL -meter的应用
  • phpstudy升级新版apache
  • 如何在金仓数据库KingbaseES中新建一个数据库?新建一个表?给表添加一个字段?
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】8.1 基础图表绘制(折线图/柱状图/散点图)
  • 把本地的文件拷贝到wsl的文件夹下或者 wsl读取本地的文件
  • 使用node.js创建一个简单的服务器
  • WD5040L、 7V 至 37V 的宽输入电压,输出电压范围为 3.3V 至 36V,6A输出、保护功能强,电源管理利器!
  • Redis的缓存穿透、缓存击穿和缓存雪崩