【Docker】在银河麒麟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。

bash 复制代码
mv docker/* /usr/bin/

此时就可以查看docker版本

5、配置docker服务

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

docker.service

bash 复制代码
vim /etc/systemd/system/docker.service

输入以下内容

bash 复制代码
[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

bash 复制代码
vim /etc/systemd/system/docker.socket

输入以下内容

bash 复制代码
[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添加执行权限

bash 复制代码
chmod +x docker.service

编辑daemon.json,没有就创建

bash 复制代码
vim /etc/docker/daemon.json

输入以下内容

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

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

bash 复制代码
systemctl daemon-reload

6、启动docker服务

bash 复制代码
systemctl start docker.service

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

bash 复制代码
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:

bash 复制代码
{
  "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"]
}

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

bash 复制代码
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博客

docker服务异常启动失败解决方法_docker启动失败-CSDN博客

相关推荐
Android洋芋11 分钟前
PrintFriendly网页文章转PDF插件工具及技术分析
运维·服务器·pdf·网页转pdf
Elastic 中国社区官方博客15 分钟前
使用重新设计的 AutoOps 更快地进行 Elasticsearch 问题排查
大数据·运维·前端·人工智能·elasticsearch·搜索引擎·全文检索
RoboWizard28 分钟前
金士顿高速闪存盘 单双接口适配多元存储需求
大数据·运维·人工智能·智能手机·云计算
hkj880836 分钟前
Ubuntu 20.04 安装 OpenJDK 17
linux·运维·ubuntu
sulikey44 分钟前
服务器安装Docker教程。如何在云服务器安装Docker容器?
运维·服务器·ubuntu·docker·安装教程·云服务器
许彰午1 小时前
17-22-运维与高级主题
运维·网络
万联WANFLOW1 小时前
外贸独立站:服务器放海外国内后台卡,放国内海外客户打不开——这道两头难怎么破?
运维·网络·数据库·经验分享
跨境小彭1 小时前
Temu 店群自动化核价落地实践:告别人工熬夜议价,依托智能核价极速版规避操作亏损
运维·自动化·跨境电商·temu
池央1 小时前
NAS里的大文件怎么快速传?用Copyparty搭建轻量文件服务器
运维·服务器·cpolar
窝子面2 小时前
认识Docker与启动容器与镜像的关系
运维·docker·容器