1. 卸载原Docker
sudo apt-get remove docker
sudo apt-get remove docker.io
sudo apt-get remove docker-ce # 最近的版本为ce版本
查看是否删除干净
docker --version
若无相关信息表示,已删除干净。若仍存在相关,需手动卸载以及根据提示,删除相关的依赖包:
sudo apt-get remove -y docker-*
2. 安装Docker
2.1 添加合适的apt镜像源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/' /etc/apt/sources.list
sudo apt update
2.2 安装curl
sudo apt install apt-transport-https ca-certificates software-properties-common curl
2.3 安装密钥
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable"
2.4 更新apt
sudo apt update
sudo apt-get update
2.5 查看源中docker版本
apt-cache madison docker-ce
2.6 安装指定版本的docker
这里以18.06.1~ce
版本为例
sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu
2.7 查看是否安装正常
sudo systemctl start docker
docker info
3. Docker基础配置
3.1 更换docker镜像源
sudo vim /etc/docker/daemon.json
在daemon.json
中添加如下内容
# bip:是指定docker运行中,docker0网桥的IP地址,如果使用默认的172.17.0.1可能会影响其他网络访问。
# registry-mirrors:指定镜像源地址
{
"bip": "192.188.0.1/16",
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://registry.aliyuncs.com",
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
然后保存退出,重启docker服务
systemctl restart docker
根据需要,设置阿里云的专属镜像加速
3.2 添加用户组,免sudo
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo service docker restart
newgrp - docker
4. 安装nvidia-docker2
注意在19.0.3
版以后,docker-ce中已经可以直接调用GPU,因此无需安装nvidia-docker,而低版本的docker-ce仍需安装nvidia-docker以调用GPU。
此外,nvidia-docker分为nvidia-docker和nvidia-docker2,命令上向下兼容,可直接安装nvidia-docker2。
# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
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
# Add the package repositories
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
# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
【Reference】