1 安装docker和nvidia-container
docker:https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
nvidia-container:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
2 拉取cuda镜像:https://catalog.ngc.nvidia.com/orgs/nvidia/containers/cuda/tags
如:sudo docker pull nvcr.io/nvidia/cuda:11.8.0-devel-ubuntu18.04
3 使用镜像创建一个名为“torch”的容器:sudo docker run -it –gpus all –name torch nvcr.io/nvidia/cuda:11.8.0-devel-ubuntu18.04
进入容器使用nvidia-smi测试能否调用GPU
4 在容器中安装wget:apt update
apt install wget
安装miniconda:wget https://repo.anaconda.com/miniconda/Miniconda3-py38_23.3.1-0-Linux-x86_64.sh
使用bash安装conda,安装时选择路径/opt/conda(默认/root/miniconda3)
5 此时已经激活了conda环境,在base环境中安装所需要的包
在这之前,需要将requirements.txt文件传入到容器中,另起一个终端:sudo docker cp /文件路径/requirements.txt torch:/存放路径/requirements.txt
容器内安装包pip install -r /.../requirements.txt
有些包可能需要依赖于其他包,需要先安装需要的包
6 将代码传入容器中测试,如代码不能运行则需要解决bug,一般是Linux依赖问题。
在conda环境之外使用python命令时需要加入conda的目录(打包tar后在其他地方使用不一定会默认进入conda环境),保证容器使用的是conda中的python:
/opt/conda/bin/python *.py
/opt/conda/bin/pip install ***
7 打包tar,打包目录在终端的路径下。
Sudo docker commit containerID a:b(repository:tag)
Sudo docker save a:b(repository:tag) -o ***.tar