复利思维 發表於 2021-7-19 20:24:00

麒麟操作系统上安装docker并加载镜像

<p><span style="font-size: 16px">最近需要在政务云系统中部署深度学习环境,其使用麒麟操作系统并与互联网相互隔离,无法使用常规的指令行方式进行安装。参考docker官方文档并经过多次尝试,使用离线安装的方式完成了环境的部署。这里做一下笔记分享经验。</span></p>
<p>&nbsp;</p>
<p><strong><span style="font-size: 18px">整个过程大概分为4步:</span></strong></p>
<p><strong><span style="font-size: 16px">&nbsp;&nbsp;&nbsp; ·操作系统版本信息查询</span></strong></p>
<p><strong><span style="font-size: 16px">&nbsp;&nbsp;&nbsp; ·docker官网下载安装文件</span></strong></p>
<p><strong><span style="font-size: 16px">&nbsp;&nbsp;&nbsp; ·离线安装</span></strong></p>
<p><strong><span style="font-size: 16px">&nbsp;&nbsp;&nbsp; ·镜像迁移及部署</span></strong></p>
<p>&nbsp;</p>
<p>一、操作系统版本查询</p>
<p>&nbsp;&nbsp;&nbsp; 麒麟系统在3.0版之后,不再使用FreeBSD内核作为基础,开始使用Linux内核。这也就是说,不少Linux版本的软件可以直接在麒麟系统上进行安装。但Linux也有多种不同的版本,这里就需要先确定所使用的麒麟操作系统版本对应哪个Linux OS。通常可以通过:uname -a&nbsp;&nbsp; ||&nbsp; lsb_release -a&nbsp; ||&nbsp; cat /proc/version&nbsp; 等指令进行查询。</p>
<p>&nbsp;&nbsp;&nbsp; 以我在政务云项目中所使用的银河麒麟4.0.X为例,使用 lsb_release -a 和 uname -a 指令仅能查看到麒麟版本和对应的Linux内核版本,但在使用 cat /proc/version 指令时,可以看到输出的内容中有 "Ubuntu1~16.04.9" 字样,也就是说该麒麟版本与Ubuntu较为接近,可以使用.deb安装包。</p>
<p>&nbsp;</p>
<p>二、docker官网下载安装文件</p>
<p>&nbsp;&nbsp;&nbsp; 根据docker官网文档( https://docs.docker.com/engine/install/ubuntu/#install-from-a-package )指示,需要在下载地址( https://download.docker.com/linux/ubuntu/dists/ )选择正确的Ubuntu发行版本,我们刚查询到的对应版本是Ubuntu16.04.9,也就是xenial版本</p>
<p><img src="https://img2020.cnblogs.com/blog/1463653/202107/1463653-20210719195358669-1205738653.png"></p>
<p>&nbsp;</p>
<p>至于说Ubuntu对应版本号与版本名称可以在 https://blog.csdn.net/songfulu/article/details/85310273 查到。</p>
<p>之后,根据官方文档指引,最终在 /ubuntu/dists/xenial/pool/stable/amd64/ 的路径下,找到了docker各稳定版的离线安装包。</p>
<p><img src="https://img2020.cnblogs.com/blog/1463653/202107/1463653-20210719200300156-1238661563.png"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline; color: rgba(255, 0, 0, 1)"><strong>需要特别注意的是,这里的安装包共有3类,即 containerd.io \ docker-ce-cli \ docker-ce 这3类安装包之间存在着依赖关系,每一类安装包都需要至少下载一个。</strong></span></p>
<p>&nbsp;</p>
<p>三、离线安装</p>
<p>&nbsp;&nbsp;&nbsp; 根据官方文档的说明,使用 dpkg -i 指令<code></code>安装即可。&nbsp;<code></code>但经过实践摸索,这三类安装包之间存在依赖关系,顺序错误会导致安装失败</p>
<p>&nbsp;&nbsp;&nbsp; ①首先要安装容器类服务,使用 dpkg -i containerd.io_XXXXXX.deb 指令进行安装。</p>
<p><img src="https://img2020.cnblogs.com/blog/1463653/202107/1463653-20210719200811638-1373013958.png"></p>
<p>&nbsp;&nbsp;&nbsp; ②其次要安装docker客户端,cli 即为 client 的意思。使用 dpkg -i docker-ce-cli_XXXX.deb 指令进行安装。</p>
<p><img src="https://img2020.cnblogs.com/blog/1463653/202107/1463653-20210719201104288-778256327.png"></p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; ③最后再安装docker服务端程序,使用 dpkg -i&nbsp;docker-ce_XXXX.deb 指令进行安装。</p>
<p><img src="https://img2020.cnblogs.com/blog/1463653/202107/1463653-20210719201207218-1059349740.png"></p>
<p>&nbsp;</p>
<p>&nbsp;这样就能够正确的建立依赖关系,完成docker的安装。一般来讲,安装之后会自动启动docker服务,若该服务未启动,则使用 service docker start 或 systemctl start docker 指令将其开启即可。</p>
<p>&nbsp;</p>
<p>四、镜像迁移及部署</p>
<p>&nbsp;&nbsp;&nbsp; docker环境配置成功,最后拷贝进来事先通过docker save命令打包好的镜像压缩包(tensorflow/tensorflow:2.2.3-gpu-py3),使用docker load命令加载这个镜像。就可以在麒麟操作系统中运行深度学习程序了。</p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/NosenLiu/p/15032064.html
頁: [1]
查看完整版本: 麒麟操作系统上安装docker并加载镜像