离线安装docker
项目上的服务器不能上网,因此需要离线配置docker和nvidia-docker
在一台有网的机器上,在链接中下载相应的文件
containerd.io_1.2.0-1_amd64.deb
docker-ce-cli_18.09.1~3-0~ubuntu-xenial_amd64.deb
docker-ce_18.09.1~3-0~ubuntu-xenial_amd64.deb
用下面的命令将三个包一起安装了
sudo dpkg -i containerd.io_1.2.0-1_amd64.deb docker-ce-cli_18.09.1~3-0~ubuntu-xenial_amd64.deb docker-ce_18.09.1~3-0~ubuntu-xenial_amd64.deb
离线安装nvidia-docker
- 如果已安装nvidia-docker1.0,需要卸载nvidia-docker 1.0
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge nvidia-docker
- 在一台有网的机器上配置
apt
源(注意有网的机器上的Ubuntu版本需要与离线安装的机器一致)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
- 运行以下5个命令,下载5个包到当前目录,将这些包拷贝在离线服务器上
apt download libnvidia-container1
apt download libnvidia-container-tools
apt download nvidia-container-toolkit
apt download nvidia-container-runtime
apt download nvidia-docker2
- 离线服务器上依次运行以下命令,顺序不能颠倒:
dpkg -i libnvidia-container1
dpkg -i libnvidia-container-tools
dpkg -i nvidia-container-toolkit
dpkg -i nvidia-container-runtime
dpkg -i nvidia-docker2
- 运行:(机器上需要有nvidia驱动)
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
卸载docker
方法一
apt-get purge
卸载命令需要逐条执行
sudo apt-get purge docker-ce
sudo apt-get purge docker-ce-cli
sudo apt-get purge containerd.io
查看是否卸载完毕
apt list --installed | grep docker
apt list --installed | grep contain.io
删除残留文件
rm -rf /var/lib/docker
rm -rf /var/run/docker
rm -rf /etc/docker
rm -rf /run/docker.sock
rm -rf /var/lib/containerd
rm -rf /run/containerd
rm -rf /opt/containerd
在删除文件时可能会出现rm: cannot remove ‘/var/lib/docker/containers’: Device or resource busy
网络共享挂载的存储目录无法使用rm -rf
清空,如果Linux确实需要删除本地挂载点,可以先卸载,然后删除本地的挂载点。
卸载:umount /var/lib/docker/containers
删除:rm -rf /var/lib/docker/
方法二
首先查看docker
服务状态,并停止docker
服务
systemctl stastus docker # 查看docker服务状态
systemctl stop docker # 关闭docker服务
systemctl disable docker # 关闭开机自启
查看源码安装方式的自启动服务文件:
ls /etc/systemd/system/docker.service
删除docker文件
cd /usr/bin/
ls -lrt docker*
rm -rf docker*
按照方法一上面的方式删除docker
残余文件