竞赛-002 docker环境搭建
目标
安装特定的docker版本18.09.2,安装对应的nvidia-docker,实现在docker镜像中能使用gpu
关于docker的操作命令可以参考下一篇文章竞赛-003 docker的使用
环境以及版本
ubuntu16.04,内核4.4.0-142-generic
docker安装过程
1. 检查系统
uname -r
Docker需要64的操作系统。此外你的kernel内核至少要在3.10版本之上,大于这个版本即可安装
2. 移除旧的版本
sudo apt-get remove docker docker-engine docker.io containerd runc
删除镜像的话就删除/var/lib/docker文件夹下的文件
3. 更新包
sudo apt-get update
4. 安装必要的依赖软件
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
5. 添加Docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
密钥是:
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
通过搜索指纹的最后8个字符,验证现在拥有带指纹的密钥
6. 设置稳定存储库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
7. 更新apt包索引
sudo apt-get update
8. 要安装特定版本的Docker CE
在repo中列出可用版本,然后选择并安装:
apt-cache madison docker-ce
可以看到仓库中可用的包
使用第二列中的版本字符串安装特定版本5:18.09.5-3-0-ubuntu-xenial
sudo apt-get install docker-ce=5:18.09.5~3-0~ubuntu-xenial docker-ce-cli=5:18.09.5~3-0~ubuntu-xenial containerd.io
9. 运行hello-world镜像验证安装
sudo docker run hello-world
到这里docker就算安装成功了
nvidia-docker安装
上面的步骤是docker的常规安装,下面要做的是安装nvidia-docker,这个插件使得我们能够在docker里面调用GPU,实行训练,安装步骤如下:
1. 删除旧版
如果安装了nvidia-docker 1.0:我们需要删除它和所有现有的GPU容器
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 -y nvidia-docker
2. 添加软件包存储库
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
3. 查看仓库中能安装的包
apt-get madison nvidia2 nvidia-container-runtime
4. 安装nvidia-docker2并重新加载Docker守护进程配置
sudo apt-get install -y nvidia-docker2=2.0.3+docker18.09.5-3 nvidia-container-runtime=2.0.0+docker18.09.5-3 -y
sudo pkill -SIGHUP dockerd
5. 运行验证镜像
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
能看见nvidia-smi的框便是安装成功
关于docker的操作命令可以参考下一篇文章竞赛-003 docker的使用
参考
https://docs.docker.com/install/linux/docker-ce/ubuntu/
https://github.com/NVIDIA/nvidia-docker
遇到的问题
sub-process /usr/bin/dpkg returned an error code(1):
https://blog.csdn.net/Ropai/article/details/27171687
https://blog.csdn.net/u010426270/article/details/52028620
Docker:Failed to start docker.service: Unit docker.service is masked.
http://www.php.cn/blog/detail/6102.html