【Docker】在银河麒麟ARM环境下离线安装docker_麒麟系统离线安装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 EngineDocumentation=https://docs.docker.comAfter=network-online.target firewalld.serviceWants=network-online.targetRequires=docker.socket[Service]Type=notifyExecStart=/usr/bin/dockerdExecReload=/bin/kill -s HUP $MAINPIDTimeoutStartSec=0Restart=on-failureStartLimitBurst=3StartLimitInterval=60sLimitNOFILE=infinityLimitNPROC=infinityDelegate=yesKillMode=process[Install]WantedBy=multi-user.target
docker.socket
vim /etc/systemd/system/docker.socket
输入以下内容
[Unit]Description=Docker Socket for the APIPartOf=docker.service[Socket]ListenStream=/var/run/docker.sockSocketMode=0660SocketUser=rootSocketGroup=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-reloadsystemctl restart docker.servicedocket 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博客