docker镜像
获取地址:
pytorch:https://hub.docker.com/r/pytorch/pytorch/tags?page=1&ordering=last_updated
centos:https://hub.docker.com/_/centos?tab=tags&page=2&ordering=-last_updated
下载centos7.5:
1 | sudo docker pull centos:centos7.5.1804 |
常用命令
查看docker存储路径
1 | docker info | grep "Docker Root Dir" |
查看镜像
1 | docker image ls |
查看容器
1 | docker ps |
停止容器
1 | docker stop 容器ID |
删除容器
1 | docker rm 容器ID |
查看容器详细信息
1 | docker inspect 容器ID |
使用步骤
- 下载镜像
- 启动镜像创建容器 注意:cuda、root权限、端口、挂载、命名
1
nvidia-docker run -d -it -p 12000-12010:12000-12010 -p 宿主机端口:docker端口 --privileged -v 宿主机路径:/home/repos -v /data:/data -v /data_static:/data_static -v /data_activate:/data_activate --name XXX 镜像ID /bin/bash
其他1
2
3
4-itd i交互式 t终端 d后台
--cap-add=NET_ADMIN : 能够进行网络管理
/usr/sbin/init 作为root用户
--gpus all 使用GPU的另一种方式(未验证) - 进入容器
1
docker exec -it --privileged XXX /bin/bash
- 打包容器到本地
先停止容器这时候用docker image ls可以看到新镜像1
2docker commit 容器ID -a "XXX" deepfake:pytorch1.4-cuda10.1-cudnn7-deepfake-devel
docker commit 容器ID -a "作者名字" 镜像名称:镜像tag
端口设置
参考:https://qastack.cn/programming/20845056/how-can-i-expose-more-than-1-port-with-docker
docker使用nvidia步骤
方式1
- 在容器里测试是否可以使用GPU
1
2
3
4
5watch -n 0.1 nvidia-smi
或
python
import torch
torch.cuda.is_available() - 安装nvidia-docker
测试是否安装成功1
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
- 通过nvidia-docker启动pytorch容器
1
nvidia-docker run XXXX
- 参考
https://zhuanlan.zhihu.com/p/76464450
方式2
- 同上
- 参考
https://www.jianshu.com/p/32ad4f448fe5 - 通过–gpus all使用
1
docker run -d -it --gpus all XXX
在docker中其他工具安装
安装vim
1 | apt-get update |
安装ping
1 | apt-get install iputils-ping |