Linux:通过Docker搭建深度学习环境

it2023-09-16  82

看了好多docker搭建深度学习环境的都说的不是太详细,通过自己的实践终于搞明白了。docker安装什么的,百度有大量文章,本文就不讲了,这里是讲讲docker的使用。

1、拉取镜像

从https://hub.docker.com/上面拉取需要的镜像,这里以pytorch为例,其中Tags对该镜像有说明,根据需要拉取所需的镜像,我拉取了pytorch/pytorch这个镜像,见下图

docker pull pytorch/pytorch

2、 根据镜像创建容器

创建容器有两种方式:

一、如果不要带Jupyter,直接跑python文件就这样:

yi@SCEALE-GPU001:~$ docker run -it --ipc=host -v /home/fli/czd:/data pytorch/pytorch bash

 其中 -v /home/fli/czd:/data 的意思为:将硬盘上的 /home/fli/czd 映射到容器内的 /data目录下。可以根据自己的文件位置自行更改。  比如我这样设置,那么在容器内进入 /data 目录,便可访问到我硬盘内 /home/fli/czd 文件夹下的内容,如图。

二、也可以带Jupyter运行。

docker run -i -p 8888:8888 --ipc=host -v /home/fli/czd:/data pytorch/pytorch jupyter notebook --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token=7c4a8d09ca3762af61e59520943dc26494f8941b --notebook-dir='/data'

其中 NotebookApp.token= 后面跟的一串是密码,是 sha1 加密的。可以随便找个sha1在线加密网站生成一下。-p 8888:8888 意思是将外部8888端口映射到容器8888端口。

运行之后直接浏览器访问8888端口。

让我们登录。输入密码,注意是sha1加密后的串。

成功。

执行一下试试。

运维

 不带jupyter的时候按 Ctrl + P + Q 可以让容器在后台运行。  如果要重新进入容器,首先查看容器id:

docker ps

然后进入容器:

docker exec -it 容器id /bin/bash

带Jupyter的话,后台运行我是直接nohup命令的,因为个人不是很喜欢用Jupyter,没有怎么研究:

nohup docker run -i -p 8888:8888 --ipc=host -v /Data/py_workspace:/data ufoym/deepo:cpu jupyter notebook --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token=7c4a8d09ca3762af61e59520943dc26494f8941b --notebook-dir='/data'>/Data/py_jupyter.out &
最新回复(0)