docker 官网教程#
参考链接:https://blog.csdn.net/m82_a1/article/details/98870376
注意事项:如果要使用nvidia-docker 一定要指定安装docker的版本,对应有nvidia版本的。
查看docker 以及nvidia-docker 的可安装版本,查看之前要按上面链接添加
-
使用 HTTPS 传输的软件包
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
-
添加软件源的GPG密钥
中科大:curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
阿里云:
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
查看可安装版本命令
查看dockerapt-cache madison docker-ce
查看nvidia-docker
apt-cache madison nvidia-docker2 nvidia-container-runtime
安装docker
sudo apt install docker-ce=版本号
如: sudo apt install docker-ce=18.06.0ce~3-0 ~ubuntu
安装nvidia-docker
sudo apt install nvidia-docker2=版本号 nvidia-container-runtime =版本号
注意:nvidia-docker2 和nvidia-container-runtime 这俩都要装
-
同时启动并设置开机自启
systemctl enable docker sudo systemctl start docker
-
添加当前用户到docker组(可选)
创建docker组:
sudo groupadd docker
当前用户加入docker组:
sudo usermod -aG docker $USER
检查创建是否有效:
cat /etc/group
重启docker:
sudo systemctl restart docker
docker 使用基础
要熟悉概念
docker 中的重要命令:
将docker hub 上的镜像拉(下载)到本地,一般保存在本地 /var/lib/docker的文件夹下
docker pull 镜像名:镜像tag 如:docker pull mmdetection:v2.2.0
pull完之后可以用以下命令查看本地所有镜像:其他参数设置
docker images
这时我们可以用本地镜像运行一个容器,命令如下:其他参数设置
docker run -itd 镜像名:镜像tag
查看所有容器:
docker ps -a
查看运行的容器:
docker ps
进入容器命令:
docker attach 容器ID
退出容器命令
exit
另外,在docker容器中使用Ctrl+D即可退出容器,但是这样会让容器停止运行。停止后用 docker ps -a 查看ID
启动/停止容器:
docker start/stop 容器ID
如果想退出容器但又不想让容器停止,使用Ctrl+P+Q即可
查看容器端口映射:(只有在退出容器,且容器没有被停止的时候可以用)
docker port 容器ID
修改容器名称:
docker rename 原容器名称 新容器名称
实用技巧
-
省去每一次的docker命令都要加sudo:
参考连接
1、创建group组sudo groupadd docker
2、添加当前用户用户到docker组
sudo gpasswd -a ${USER} docker
3、切换会话,避免使用缓存的组信息
newgrp - docker
4、重启 docker服务
sudo service docker restart
2.安装nvidia-docker:
官方安装教程
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html
移除nvidia-docker1.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
设置仓库和gpg秘钥:
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
(可选)如果是A100(穷人不配了):
curl -s -L https://nvidia.github.io/nvidia-container-runtime/experimental/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
安装nvidia-docker2和依赖:
sudo apt-get update
sudo apt-get install -y nvidia-docker2
或指定版本
sudo apt-get install -y nvidia-docker2=版本号
重启docker:
sudo systemctl restart docker