Docker安装
1、更换为国内镜像源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update
2、安装需要的包
sudo apt install apt-transport-https ca-certificates software-properties-common curl
3、添加 GPG 密钥,并添加 Docker-ce 软件源
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"
4、添加成功后更新软件包缓存
sudo apt update
5、安装 Docker-ce
sudo apt install docker-ce
6、设置开机自启动并启动 Docker-ce
sudo systemctl enable docker
sudo systemctl start docker
7、测试运行
sudo docker run hello-world
8、添加当前用户到 docker 用户组,可以不用 sudo 运行 docker
sudo groupadd docker
sudo usermod -aG docker $USER
9、测试
docker run hello-world
安装nvidia-docker
1、添加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
2、安装 nvidia-docker2
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
3、测试安装
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
nvidia-docker离线安装
1、下载五个包
apt download libnvidia-container1
apt download libnvidia-container-tools
apt download nvidia-container-runtime-hook
apt download nvidia-container-runtime
apt download nvidia-docker2
2、安装
dpkg -i libnvidia* nvidia*
3、更改daemon.json
vi /etc/docker/daemon.json
{
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
Docker使用的常用命令
#启动docker
systemctl start docker
or
service docker start
#拉取镜像
docker image pull <repository>:<tag>
#打包镜像
docker commit 容器id 打包后的image名
#保存为镜像包
docker save 镜像名 -o 包名.tar
#加载本地镜像
docker load -i 包名.tar
#运行镜像
docker run --name=容器名 -p 8000:8000 -v 本地路径:/home -v /etc/localtime:/etc/localtime -ti 镜像名:tag
#启动容器
docker start 容器名
#进入容器
docker exec -ti 容器名 /bin/bash
#删除容器
docker rmi -f 镜像名