配置前提
安装有docker和nvidia-docker。
配置步骤
- 下载对应镜像。本配置从中国官方镜像加速上下载。
sudo docker pull registry.docker-cn.com/ufoym/deepo
- 运行并进入镜像。设置容器名为“docker_name”,端口映射为“18888:8008”,并共享数据和配置。
sudo nvidia-docker run --name docker_name -it -p 18888:8008 -v ~/host/data:/data -v ~/host/config:/config ufoym/deepo bash
- 安装jupyter。
pip install jupyter
- 生成jupyter配置文件。
jupyter notebook --generate-config
- 使用ipython生成远程访问密码。
ipython
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password: # 输入密码
Verify password:
Out[2]: 'sha1:c0051818d6d6:fd369cf3908d863377c3b58ab79bb7a5c34b1879'
In [3]: exit
- 添加jupyter配置参数。
vi ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip='*' # 不限制访问ip
c.NotebookApp.password = u 'sha1:c0051818d6d6:fd369cf3908d863377c3b58ab79bb7a5c34b1879' # 即上述生成的密码密钥
c.NotebookApp.open_browser = False # 禁止自动打开浏览器
c.NotebookApp.port = 8008 # 与端口映射(18888:8008)设置相同
- 启动jupyter。
jupyter notebook --allow-root --ip=0.0.0.0
- 远程访问jupyter。在游览器输入“#ip#:18888”(对应于端口映射18888:8008),输入上述生成的密码即可。
其它注意事项
- 刚开始想使用Deepo自带jupyter的镜像配置,发现其需要CUDA10的环境。
sudo docker pull registry.docker-cn.com/ufoym/deepo:all-jupyter
- 以后运行和进入镜像。
sudo docker start docker_name # 运行
sudo docker exec -it docker_name /bin/bash # 进入