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
根據(jù)官方文檔中的命令跑就行了
如果出現(xiàn)了以下回顯,說明安裝成功
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版本不對應(yīng),此時需要找到和自己的cuda對應(yīng)的Nvidia-docker。
查看cuda版本
通過命令nvidia-smi
可以看到自己的cuda版本:
在上圖的右上角可以看出我的cuda版本為11.2
找對應(yīng)的cuda鏡像
在docker官網(wǎng)中nvidia目錄下找到自己的cuda對應(yīng)的鏡像即可。
命令中,11.6.2-base-ubuntu20.04
是鏡像名,11.6.2是應(yīng)該對應(yīng)的cuda版本
找到對應(yīng)版本的鏡像后,將sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
中的11.6.2-base-ubuntu20.04
替換為對應(yīng)版本的鏡像名,比如11.2.2-base-ubuntu20.04
step3
安裝jupyter深度學(xué)習(xí)鏡像
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文件夾中
運行結(jié)束該命令后,應(yīng)該已經(jīng)進入容器了
啟動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]: '生成的一串密鑰'
# 密鑰的格式應(yīng)該是sha1:xxxxxx:xxxxxxx,注意保存生成的密鑰
exit #退出生成密鑰
- 寫jupyter配置文件
# 編輯jupyter_notebook_config.py
# 如果你不知道jupyter_notebook_config.py,可以使用find命令找一下
$ vim /root/.jupyter/jupyter_notebook_config.py
# 設(shè)置c.NotebookApp.password,注意前面加 u,把密鑰(sha1:xxxx:xxxx)全部復(fù)制過來
c.NotebookApp.password=u'生成的一串密鑰'
## 設(shè)置外部訪問
# 連通性設(shè)置
c.NotebookApp.allow_remote_access = True
# ip設(shè)置
c.NotebookApp.ip='0.0.0.0' # 自動獲取服務(wù)器ip
# 打開root權(quán)限啟動
c.NotebookApp.allow_root =True
# 禁止自動打開瀏覽器
c.NotebookApp.open_browser = False
# 端口設(shè)置
c.NotebookApp.port = 8888 # 創(chuàng)建docker時候配置的容器內(nèi)部服務(wù)的端口號
- 啟動jupyter notebook
# 使用后臺模式啟動jupyter notebook
nohup jupyter notebook --allow-root&
然后退出容器,訪問本機ip:8080
即可
docker中jupyter notebook的python環(huán)境配置
思路:將anaconda安裝腳本放到映射文件夾中,在jupyter中運行安裝腳本,然后就可使用conda配置python環(huán)境。文章來源:http://www.zghlxwxcb.cn/news/detail-537771.html
需要注意的是,安裝好conda后,需要使用exec bash
才能切換到conda的環(huán)境中文章來源地址http://www.zghlxwxcb.cn/news/detail-537771.html
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
到了這里,關(guān)于基于docker的ubuntu云服務(wù)器jupyter深度學(xué)習(xí)環(huán)境配置指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!