centos7离线安装docker和nvidia-docker

一、环境

 因某些环境,不能联外网,所以使用docker yum源方法行不通,于是打算离线安装

 环境:contos7.3(内核需为3.10+)

cat /etc/redhat-release
# CentOS Linux release 7.3.1611 (Core)

下载:docker-18.06.3-ce.tar

二、安装步骤

1、卸载旧docker

a、停止正在运行的容器

docker stop $(docker ps -a -q)

b、删除所有的容器

docker rm $(docker ps -a -q)

c、删除所有的镜像

docker rmi $(docker images -q)

d、先查询下docker

 yum list installed| grep docker

e、执行卸载命令

yum -y remove  docker.x86_64   docker-client.x86_64  docker-common.x86_64 nvidia-docker.x86_64

f、执行删除已存在的镜像和容器(以实际情况而定)

rm -rf  /var/lib/docker

2、离线重装docker

a、docker压缩包

cd /usr/local/resource/docker
tar -xzvf docker-18.06.3-ce.tgz
mv  /usr/local/resource/docker/docker/*  /usr/bin/ # 将二进制文件移动到bin下

b、systemd 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
   
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock --add-runtime=nvidia=/usr/bin/nvidia-container-runtime
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
   
[Install]
WantedBy=multi-user.target

授予执行权限:

chmod +x /etc/systemd/system/docker.service

然后:

systemctl daemon-reload   # 重载systemd下 xxx.service文件
systemctl start docker       # 启动Docker
systemctl enable docker.service   # 设置开机自启

测试是否成功:

systemctl status docker   # 查看Docker状态
docker -v # 查看Docker版本

3、离线安装nvidia-docker

前提,已经安装了docker 

a、在一台联网的机器上执行下面命令

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
 
yum install --downloadonly nvidia-docker2 --downloaddir=/tmp/nvidia

会得到这些 :

b、将以上安装包上传到无法联网的服务器

c、进入rpm包路径里执行

rpm -Uvh *.rpm --nodeps --force

 

解决

docker: Error response from daemon: Unknown runtime specified nvidia. 解决方法

参考地址:https://blog.csdn.net/weixin_32820767/article/details/80538510

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值