安装docker
设置索引库
- 更新apt包索引
$ sudo apt-get update
2. 安装包以允许通过HTTPS使用存储库:
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
3. 添加Docker的官方GPG密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
4. 使用以下命令设置稳定存储库。即使您还想从边缘或测试存储库安装构建,您始终需要稳定的存储库。要添加边缘或测试存储库,请在以下命令中的单词stable之后添加单词edge或test(或两者)
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
注:$(lsb_release -cs)可被替代,Ubuntu18.04对应的是bionic,Ubuntu16.04对应的是xenial
此时有个坑,当添加错误时,在update会报错。需要把错误的添加删除,再update。
安装docker ce
- 更新apt索引库
sudo apt-get update
a. 安装最新版本的docker CE
$ sudo apt-get install docker-ce
b. 或安装指定版本:
- 列出仓库中的可用版本
$ apt-cache madison docker-ce
docker-ce | 18.03.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
- 通过其完全限定的包名称安装特定版本,即包名称(docker-ce)“=”版本字符串(第2列),例如,docker-ce = 18.03.0ce-0ubuntu。
$ sudo apt-get install docker-ce=<VERSION>
- 查看docker ce版本
$ docker -v
检测是否正确安装
通过运行hello-world映像验证是否正确安装了Docker CE。
sudo docker run hello-world
nvidia docker
Docker版本需满足大于19.03,在这个基础上安装nvidia-container-toolkit即开启Docker GPU加速。
基础环境:Ubuntu 16.04/18.04, Debian Jessie/Stretch/Buster
# Add the package repositories
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ 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 && sudo apt-get install -y nvidia-container-toolkit
$ sudo systemctl restart docker
使用示例:
#### Test nvidia-smi with the latest official CUDA image
$ docker run --gpus all nvidia/cuda:9.0-base nvidia-smi
# Start a GPU enabled container on two GPUs
$ docker run --gpus 2 nvidia/cuda:9.0-base nvidia-smi
# Starting a GPU enabled container on specific GPUs
$ docker run --gpus '"device=1,2"' nvidia/cuda:9.0-base nvidia-smi
$ docker run --gpus '"device=UUID-ABCDEF,1"' nvidia/cuda:9.0-base nvidia-smi
# Specifying a capability (graphics, compute, ...) for my container
# Note this is rarely if ever used this way
$ docker run --gpus all,capabilities=utility nvidia/cuda:9.0-base nvidia-smi