1、安装docker==19.03.9

本教程所用docker及其他安装包可使用如下链接下载:
百度网盘链接-docker,提取码:lj22
链接:https://pan.baidu.com/s/1f_ODBotCbxNsFKWgoOA7gw
提取码:lj22

安装流程(!!操作的时候要使用root用户操作,不然会报错 !!)

方法参考博客:Linux ARM架构-离线部署 Docker-银河麒麟V10操作系统

!!! 操作的时候要使用root用户操作,不然会报错 !!!
!!! 操作的时候要使用root用户操作,不然会报错 !!!
!!! 操作的时候要使用root用户操作,不然会报错 !!!
!!!重要的事情说三遍!!!

如果不是root账户,如admin等账户,且root账户无法使用远程登录,使用

su - root

转到root账户,输入密码即可,然后在root账户进行下一步操作(包括上传,解压,复制等)

压缩包解压缩

tar -zxvf docker-19.03.9.tgz

里面包含的文件应该如下,如果卸载或对文件升级权限可参考

把解压得到的docker内的文件复制到 /usr/bin 文件夹中,自动安装docker

cp docker/* /usr/bin/ #此时,如果不是root账户,会提示没有文件操作权限

查看docker是否已经安装:

docker version

对docker.service进行编辑

vim /usr/lib/systemd/system/docker.service

复制如下代码到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
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target

验证docker是否安装成功

systemctl daemon-reload
systemctl start docker.servicedocker ps 查看docker服务是否运行

目前为止,如果按照以上操作的话,应该是可以安装成功的,如果报错,可能是由于没有使用root权限进行操作

报错:docker.service或contained无法启动

参考博客:解决docker.service无法启动报错

解决方案:
首先使用dockerd --debug命令查看无法启动的原因报错类似于:
failed to start containerd: exec: "containerd": executable file not found in $PATH使用  ls -l /usr/bin/containerd   查看/usr/bin中的文件权限可见:

可见,containerd文件只有 r 权限,没有执行权限。问题基本上定位了,是因为containerd文件没有执行权限导致的错误,类似其他的文件也没有权限
所以需要为containerd等文件升级权限:

chmod a+x /usr/bin/containerd,
chmod a+x /usr/bin/containerd-shim
chmod a+x /usr/bin/ctr
chmod a+x /usr/bin/docker
chmod a+x /usr/bin/dockerd
chmod a+x /usr/bin/docker-init
chmod a+x /usr/bin/runc
chmod a+x /usr/bin/docker-proxy

尝试是否可以正常启动 docker.service
查看 docker info,显示正常

注意:

此时是无法在docker容器内调用GPU的,需要安装nvidia-container-toolkit等依赖包。如果代码不需要调用GPU则直接忽略后续步骤

2、安装nvidia-container-toolkit

下载对应的安装包

对应19.03.9的安装包包括:

libnvidia-container-tools-1.11.0-1.aarch64.rpm
libnvidia-container1-1.11.0-1.aarch64.rpm
nvidia-container-toolkit-base-1.11.0-1.aarch64.rpm
nvidia-container-toolkit-1.11.0-1.aarch64.rpm

依次执行安装命令

rpm -ivh libnvidia-container-tools-1.11.0-1.aarch64.rpm
rpm -ivh libnvidia-container1-1.11.0-1.aarch64.rpm
rpm -ivh nvidia-container-toolkit-base-1.11.0-1.aarch64.rpm
rpm -ivh nvidia-container-toolkit-1.11.0-1.aarch64.rpm

重启docker.service

systemctl daemon-reload
systemctl restart docker

3、运行docker,并验证是否可以调用GPU

基本的验证方法

load 镜像:docker load -i yolox.tar启动容器:docker run -d --gpus all --shm-size 8G -p 22222:22 image_name:tag_name /usr/sbin/sshD -D进入容器:docker exec -it 容器ID /bin/bashnvidia-smi 查看容器是否可以调用GPU重点查看pytorch是否可以调用GPU:
[root@123.24.26.2]python3
>>> import torch
>>> print(torch.cuda.is_available())
>>> True
如果返回True说明安装成功

代码调用GPU验证

python3 algorithm.py查看GPU调用:watch -n 0.1 nvidia-smi,是否有进程调用,调用的显卡数量

4、云服务器配置及下载相关文件

做内网配置时往往需要使用联网的同样架构的云服务器先下载安装包。华为鲲鹏服务器安装时的联网云服务器建议使用华为云服务器,CentOS系统,鲲鹏服务器,而不是使用麒麟操作系统,这样下载的会顺利很多

设置yum源

麒麟/CentOS 8 里面的yum源的配置问题,因为centOS8于2021年12月31日停止了源的服务,导致配置源比较繁琐,会报错:
Failed to download metadata for repo ‘AppStream’

查询yum源   yum repolist
yum卸载     yum -y remove xxx
查看系统内核 uname -r
查看系统版本 cat /etc/centos-release

因此需要切换yum源。这是试验后可靠的方法。

cd /etc/yum.repos.d    #安装yum源,进入目录
ll   #查看当前目录的所有文件
rm -rf ./*  #删除当前的所有文件### 切换源(任选一个命令,我这选的是1 看着来吧)
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repocurl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repoyum makecache  # 建立缓存yum -y update  #试验更新yum是否可以运行

为云服务器安装docker

可以像内网服务器中一样,安装离线版的docker,也可以直接 yum install docker-ce,docker-io,但是要保证下载安装的docker和所需要的版本一致。docker version == 19.03.9

下载相关软件的安装包

yum install -y --downloadonly --downloaddir=./ libnvidia-container-tools libnvidia-container nvidia-container-toolkit nvidia-container-runtime

上传到内网服务器中安装

rpm -ivh ./* --nodeps

5、docker 卸载

由于本教程是采用直接复制的方式进行安装,而不是采用 yum 等方式安装,因此,探索了docker的卸载方式。主要的思路是删除掉

首先删除所有容器并停止docker

docker stop $(docker ps -q)   # 停止所有容器
docker rm $(docker ps -aq)   # 删除所有容器
systemctl stop docker     # 停止docker

#杀掉docker进程:

ps -ef|grep docker
kill -9 ID

删除所有docker文件

(1)如果docker是用yum安装的:
yum list installed |grep docker    # 查找yum安装的docker相关包
rpm -qa |grep docker  #查找docker相关的rpm包
yum -y remove xxx   # 删除yum安装包例如:
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
(2)使用本教程的步骤一安装的,需要把相关的东西卸载掉rm -rf /etc/docker
rm -rf /run/docker
rm -rf /var/lib/dockershim
rm -rf /var/lib/docker
### 把之前复制到/usr/bin里面的东西也删除掉
rm -rf /usr/bin/docker
rm -rf /usr/bin/dockerd
rm -rf /usr/bin/containerd-shim
rm -rf /usr/bin/ctr
rm -rf /usr/bin/docker-init
/usr/bin/runc
rm -rf /usr/bin/docker-proxyrm -rf /usr/lib/systemd/system/docker.service   #删除docker.service
rm -rf /usr/lib/docker  # 最终要删除这个查看docker version,如果没有显示代表完全删除干净了

华为鲲鹏服务器安装docker + GPU调用(已实际测试)相关推荐

  1. 华为鲲鹏服务器安装操作系统,华为鲲鹏服务器安装docker-compose及运用

    华为鲲鹏服务器安装docker-compose 要求充分理解和认知鲲鹏云服务,且将云服务应用到参赛作品中且解决具体的系统问题 华为鲲鹏服务器 华为鲲鹏服务器采用华为自研cpu ARMv8架构,提供 W ...

  2. 华为鲲鹏服务器安装 k3s+rancher

    华为鲲鹏服务器安装 k3s+rancher 华为鲲鹏服务器 华为鲲鹏服务器采用华为自研cpu ARMv8架构,提供 Windows 和多个Linux 系统,作为服务器使用我一直使用Centos系统(不 ...

  3. 【Centos安装】华为鲲鹏服务器安装Centos系统

    跟我一起安装CentOS系统 1.对多块硬盘进行RAID 2.准备系统安装盘 3.进入安装界面前的过程 4.带UI的可视化安装页面 5.将其他可用的磁盘进行挂载并创建分区 1.对多块硬盘进行RAID ...

  4. mysql aarch64_aarch64华为鲲鹏服务器安装Mysql5.7

    安装任意Mysql版本都适用 配置本地yum源 备份原yum库文件并将新配置写入repo文件. #mv /etc/yum.repos.d/ /etc/yum.repos.d-bak #mkdir /e ...

  5. 华为鲲鹏arm架构linux服务器安装mysql教程

    遇到一个项目是华为鲲鹏arm架构linux服务器(CentOS 7.5 with ARM),刚开始一直按照X86的教程在执行,后来mysql的本地编译命令出现了二进制的错误,于是想到了这个是鲲鹏arm ...

  6. 华为鲲鹏HCIA考试-练习04

    文章目录 单选题 多选题 判断题 其他练习: 模拟考试: 单选题 CPU Core访问服务器上不同位[的内存时,内存访问延迟从高到低排序正确的是? A.跨Socket >跨NUMA不跨Socke ...

  7. 华为云发布“华为鲲鹏”培训认证体系,助力开发者“化鲲为鹏”

    日前,华为全联接大会于上海举办.大会期间,作为华为云为开发者打造的"学-练-考-证"一站式体验与学习平台,华为云学院正式发布了包括课程.实验.认证在内的"华为鲲鹏&quo ...

  8. 华为鲲鹏+银河麒麟v10 安装 docker-ce

    设备:硬件:仅有ARM处理器,无GPU和NPU,操作系统麒麟银河V10,Kunpeng-920 #######参考原链接######### 华为鲲鹏+银河麒麟v10 安装 docker-ce 踩坑 - ...

  9. 华为鲲鹏HCIA认证笔记总结四(复习考点附题库)

    道阻且长,行则将至.埋头苦干,不鸣则已,一鸣惊人!加油,骚年! 文章目录 1 参考资料 2 笔记总结 2.1 华为鲲鹏 2.2 TaiShan 服务器 2.3 华为云鲲鹏云服务 2.4 openEul ...

最新文章

  1. 这一年,信息技术领域上演的“断舍离”
  2. mysql sysdate() 慢_mysql笔记
  3. java bigdecimal乘法_Java BigDecimal类型的 加减乘除运算
  4. 企业使用MES系统的好处以及使用前后的区别
  5. c#中 cmd.parameters.add() 方法的问题
  6. ubuntukylin14安装ns-allinone-2.35教程(虚拟机ubuntu同理)
  7. win8 性能测试软件,首款支持Win8性能测试 新版3D Mark使用体验
  8. php 过滤掉多维数组空值
  9. 01 springboot 2入门之hello springboot 2(maven构建springboot)
  10. Script error.全面解析
  11. 一分钟先生---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三十二)...
  12. XP系统优化简单实用技法
  13. 手把手教你使用Admob广告中介
  14. kali清理_linux下清理系统垃圾
  15. mac上利用openssl命令进行软件安装包的哈希校验
  16. ps-通道实现故障色彩效果
  17. 拆弹实验-phase_1
  18. android 布局滑动消失,SlideUp-Android
  19. hover效果移除时元素还原太生硬的情况
  20. api存在csrf攻击吗_使用rest api防止单页应用上的csrf攻击

热门文章

  1. Camunda 实战 :流程部署和发起 (二)
  2. oracle人民币转大写,Oracle 小写金额转换为大写
  3. 一次索引搞定的调优例子
  4. 阿里开源java调试_阿里开源java诊断工具Arthas
  5. android 读取各分区大小,Android查看各分区空间大小命令及相关操作
  6. 一小时赚200,月入3万!“职业陪护”挣钱太野了
  7. 解决 nohup: ignoring input and appending output to ‘nohup.out’和 nohup: ignoring input and redirecting
  8. arduino音乐播放器(蜂鸣器版)
  9. ios定时器轮训_Android产品研发(十三)-- App轮训操作
  10. 蓝牙权限管理android,基于蓝牙与Android设备的控制系统设计