拉取镜像
docker pull nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04
1
启动带GPU镜像
docker run -d \
-p 20022:22 \
-p 20080:80 \
--restart=always \
-v /data/dockerdir:/data \
--gpus all \
--shm-size 40G \
--name cuda \
-it nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04 bash
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
提交镜像
基于ubuntu22.04系统、RTX4090、nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04
vim、git、openssh-server、miniconda
docker commit 66b01b4790bb mrdabin/cuda:11.8.0-cudnn8-conda-ubuntu22.04
1
删除镜像
docker rmi e13403e78ddf
1
导出导出镜像
方式一 save 导出
导出
docker save imageID > mrdabin-cuda-11.8-cudnn8-conda-22.04.tar
1
导出多个镜像到文件
docker save -o image.tar 镜像1 镜像2
1
导入
docker load < image.tar
1
方式二 export 导出容器
export 导出的镜像再导入时会丢失镜像所有的历史记录和元数据信息(即仅保存容器当时的快照状态),所以无法进行回滚操作。
而 save 保存(load 加载)的镜像,没有丢失镜像的历史,可以回滚到之前的层(layer)
导出
docker export 容器id > image.tar
1
导入
docker import image.tar
1
save和export导出的不同
文件大小不同
export < save
1
对镜像重命名
docker import 可以为镜像指定新名称
docker load 不能对载入的镜像重命名
1
2
2
同时将多个镜像打包到一个文件中
docker export 不支持
docker save 支持
1
2
2
是否包含镜像历史
export 导出的镜像再导入时会丢失镜像所有的历史记录和元数据信息(即仅保存容器当时的快照状态),所以无法进行回滚操作。
而 save 保存(load 加载)的镜像,没有丢失镜像的历史,可以回滚到之前的层(layer)
docker tag
# docker tag d9af72e702a7 mrdabin/ss928:ubuntu18.04
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
1
2
2
docker配置
修改容器dns
修改docker配置文件,添加dns项
vim /etc/docker/daemon.json
{
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
},
"dns": ["223.5.5.5", "114.114.114.114", "8.8.8.8"]
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
重启docker
systemctl restart docker
1
参考
https://blog.csdn.net/tangsiqi130/article/details/131765077
https://blog.51cto.com/u_16175498/9263058
https://www.php.cn/faq/510420.html