基于docker的ubuntu云服务器jupyter深度学习环境配置指南

step1

安装docker

文档中的命令如下:

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world

如果回显如下所示,则说明成功:
在这里插入图片描述

step2

安装Nvidia-docker
根据官方文档中的命令跑就行了

如果出现了以下回显,说明安装成功
在这里插入图片描述

exception 1

需要注意的是,在运行最后一步命令时:
sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
如果报错如下:

docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0: error running hook: exit status 1, stdout: , stderr: Auto-detected mode as 'legacy'
nvidia-container-cli: requirement error: unsatisfied condition: cuda>=11.6, please update your driver to a newer version, or use an earlier cuda container: unknown.

说明cuda版本和Nvidia-docker版本不对应,此时需要找到和自己的cuda对应的Nvidia-docker。

查看cuda版本

通过命令nvidia-smi可以看到自己的cuda版本:
在这里插入图片描述
在上图的右上角可以看出我的cuda版本为11.2

找对应的cuda镜像

docker官网中nvidia目录下找到自己的cuda对应的镜像即可。

命令中,11.6.2-base-ubuntu20.04是镜像名,11.6.2是应该对应的cuda版本

在这里插入图片描述
找到对应版本的镜像后,将sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi中的11.6.2-base-ubuntu20.04替换为对应版本的镜像名,比如11.2.2-base-ubuntu20.04

step3

安装jupyter深度学习镜像

sudo docker pull ufoym/deepo:all-jupyter-py36-cu100

安装好了后可使用docker images查看:

在这里插入图片描述

step4

启动docker

sudo docker run -it \
						-p 8080:8888 \
						--ipc=host \
						-v /home/ubuntu/jupyter:/jupyterRoot \
						--gpus all \
						--shm-size 16G \
						--name jupyter_notebook  \
						cf60a305ba7b

其中,容器中的/jupyterRoot文件夹被映射到本机的/home/ubuntu/jupyter文件夹中

运行结束该命令后,应该已经进入容器了

启动jupyter notebook

  • 生成密钥
# 初始化jupyter_notebook_config.py
$ jupyter notebook --generate-config
 
# 生成密钥
$ ipython
[1]:from notebook.auth import passwd
[2]:passwd()
Enter password: XXXX  # 这里输入登录密码
Verify password: XXXX
Out[2]: '生成的一串密钥'
# 密钥的格式应该是sha1:xxxxxx:xxxxxxx,注意保存生成的密钥  

exit #退出生成密钥
  • 写jupyter配置文件
# 编辑jupyter_notebook_config.py
# 如果你不知道jupyter_notebook_config.py,可以使用find命令找一下
$ vim /root/.jupyter/jupyter_notebook_config.py
 
# 设置c.NotebookApp.password,注意前面加 u,把密钥(sha1:xxxx:xxxx)全部复制过来
c.NotebookApp.password=u'生成的一串密钥'
 
## 设置外部访问
# 连通性设置
c.NotebookApp.allow_remote_access = True

# ip设置
c.NotebookApp.ip='0.0.0.0'  # 自动获取服务器ip

# 打开root权限启动
c.NotebookApp.allow_root =True

# 禁止自动打开浏览器
c.NotebookApp.open_browser = False

# 端口设置
c.NotebookApp.port = 8888  # 创建docker时候配置的容器内部服务的端口号
  • 启动jupyter notebook
# 使用后台模式启动jupyter notebook
nohup jupyter notebook --allow-root&

然后退出容器,访问本机ip:8080即可

docker中jupyter notebook的python环境配置

思路:将anaconda安装脚本放到映射文件夹中,在jupyter中运行安装脚本,然后就可使用conda配置python环境。

需要注意的是,安装好conda后,需要使用exec bash才能切换到conda的环境中
在这里插入图片描述

Reference

  • https://zhuanlan.zhihu.com/p/612188740
  • https://zhuanlan.zhihu.com/p/442176668
  • https://blog.csdn.net/Coder_Boy_/article/details/131152693
  • https://blog.csdn.net/wcj623917753/article/details/121296724
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AndrewMe8211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值