如何在 Docker 中啟動 Jupyter Notebook
一、創(chuàng)建容器
可以先查看宿主機8888
端口是否被占用,無輸出,表明端口未被任何進程占用,如果有LISTEN
,可能在創(chuàng)建容器的時候需要更換宿主機端口,例如 -p 8890:8888
,這里以8890
為例。
netstat -tuln | grep 8888
關(guān)于容器的具體內(nèi)容不過多介紹,在創(chuàng)建容器的時候注意要將宿主機的 8888
端口映射到容器的 8888
端口 (Jupyter 默認(rèn)端口),如果宿主機8888
端口被占用,那么需要修改宿主機映射的端口,比如-p 8890:8888
。
docker run -it --name jupyter_container -p 8888:8888 鏡像名:版本號 /bin/bash
啟動容器,準(zhǔn)備創(chuàng)建虛擬環(huán)境。
docker exec -it jupyter_container bash
二、Conda安裝
這里以miniconda
為例,選擇X86架構(gòu),通過wget
獲取安裝腳本。
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
增加可執(zhí)行權(quán)限。
chmod +x Miniconda3-latest-Linux-x86_64.sh
運行安裝腳本,根據(jù)提示yes/no
,然后注意一下安裝路徑,按需修改,在最后一步輸入no
。
./Miniconda3-latest-Linux-x86_64.sh
配置環(huán)境變量,打開~/.bashrc
,在文件最后增加如下內(nèi)容并將路徑修改為剛才的安裝路徑之后source ~/.bashrc
。
export PATH="/路徑/miniconda3/bin:$PATH"
激活環(huán)境變量之后,執(zhí)行conda init
,然后重啟docker即可。
docker restart jupyter_container
三、安裝 Jupyter
創(chuàng)建虛擬環(huán)境jupyter
conda create -n jupyter python=3.9
激活虛擬環(huán)境。
conda activate jupyter
因為我們使用的是miniconda
,輕量版不自帶jupyter
,所以需要我們手動安裝。
pip install jupyter
如果沒有jupyter lab
,也可以手動安裝。
pip install jupyterlab
四、啟動 Jupyter
啟動 Jupyter
,需要增加如下參數(shù):--ip=0.0.0.0:
綁定所有網(wǎng)絡(luò)接口,允許外部訪問 (很重要) ; --port=8888:
指定 Jupyter 監(jiān)聽的端口,與容器端口映射一致;容器中一般是 root 用戶登錄,--allow-root:
允許以 root 用戶運行,容器中一般也沒有瀏覽器,--no-browser:
防止 Jupyter 嘗試打開瀏覽器。
jupyter notebook --ip=0.0.0.0 --port=8888 --no-browser --allow-root xxxx.ipynb # 同理 jupyter lab --ip=0.0.0.0 --port=8888 --no-browser --allow-root xxxx.ipynb
啟動后,選擇任意一個鏈接在瀏覽器中打開即可。
如果在創(chuàng)建容器的時候,沒有使用默認(rèn)的端口映射,比如使用-p 8890:8888
進行映射,在拷貝鏈接的時候需要在宿主機瀏覽器中將端口號修改為8890
即可正常打開 jupyter 文件。
瀏覽器中內(nèi)容如下,使用jupyter lab
也是同理,可以在指令后指定打開的具體目錄。
Jupyter 的漢化,使用如下指令安裝漢化包之后,啟動Jupyter
,找到setting
,然后選擇language
,選擇中文,之后重啟內(nèi)核。
pip install jupyterlab-language-pack-zh-CN
五、注冊內(nèi)核來使用虛擬環(huán)境
安裝ipykernel
用于管理 Jupyter 內(nèi)核。
pip install ipykernel
注冊jupyter
(虛擬環(huán)境名)為 Jupyter 可用內(nèi)核vienv
(內(nèi)核名,可變),之后啟動 Jupyter 就可以使用注冊后的虛擬環(huán)境(內(nèi)核)運行cell
。
python -m ipykernel install --user --name jupyter --display-name "vienv"
查看已注冊的內(nèi)核。
jupyter kernelspec list
刪除注冊的內(nèi)核。
jupyter kernelspec uninstall 內(nèi)核名稱
小結(jié)
關(guān)于Docker以及Jupyter的詳細(xì)操作這里不過多涉及,如有其他問題,歡迎在評論區(qū)討論,謝謝?。?!
到此這篇關(guān)于在 Docker 中啟動 Jupyter Notebook的文章就介紹到這了,更多相關(guān)Docker啟動 Jupyter Notebook內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker安裝Redis高可用實現(xiàn)一主二從三哨兵
redis提供了哨兵模式保證redis實現(xiàn)高可用,本文主要介紹了docker安裝Redis高可用實現(xiàn)一主二從三哨兵,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02Docker部署Mysql8.0.20并配置主從復(fù)制的實現(xiàn)步驟
主從復(fù)制是指數(shù)據(jù)可以從一個MySQL數(shù)據(jù)庫服務(wù)器主節(jié)點復(fù)制到一個或多個從節(jié)點,本文主要介紹了Docker部署Mysql8.0.20并配置主從復(fù)制的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下2024-06-06詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2
這篇文章主要介紹了詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Docker制作MySQL鏡像并使用`/docker-entrypoint-initdb.d/`問題
這篇文章主要介紹了Docker制作MySQL鏡像并使用`/docker-entrypoint-initdb.d/`問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05