用docker啟動一個jupyter notebook

在docker中安裝jupyter notebook

安裝docker:略

sudo docker run -it --name notebook --rm -v /home/qhduan/:/mnt -v /etc/localtime:/etc/localtime:ro ubuntu:16.04

-it 是 -i -t 的縮寫
-t 模擬終端模式
-i 接受用戶輸入
--rm 運(yùn)行之后刪除這個container
-v /home/qhduan/:/mnt 掛載 /home/qhudan的目錄到虛擬機(jī)的/mnt目錄
-v /etc/localtime:/etc/localtime:ro 把主機(jī)的目錄:ro的只讀(readonly)掛載到虛擬機(jī)目錄

# 更新apt并裝pip
apt update
apt install python3-pip vim locales fonts-wqy*
locale-gen en_US.UTF-8
# 裝jupyter和常用包
pip3 install jupyter notebook tqdm requests pandas lxml matplotlib seaborn scikit-learn numpy scipy tensorflow keras h5py pillow pip --upgrade
pip3 install xlrd xlwt xlsxwriter tushare --upgrade
# 加一個用戶
adduser notebook
# 進(jìn)入用戶
su notebook
# 生成jupyter配置文件
jupyter notebook --generate-config
# 修改jupyter配置文件
vim ~/.jupyter/jupyter_notebook_config.py

# 加入下面內(nèi)容到最下面

# 不自動中啟動時打開瀏覽器
c.NotebookApp.open_browser = False
# 綁定ip
c.NotebookApp.ip = '*'
# 綁定端口
c.NotebookApp.port = 8888
# 默認(rèn)啟動目錄
c.NotebookApp.notebook_dir = '/mnt'

# 然后保存退出

# 設(shè)置jupyter密碼
jupyter notebook password

# 開另一個終端(非當(dāng)前的docker的)
# 把當(dāng)前名為notebook的docker container提交到一個名為notebook的image
# 其中 --change "ENV LANG=en_US.UTF-8"是設(shè)置一個語言的環(huán)境變量
# 第一個notebook是當(dāng)前的container name,是我們之前run的時候--name參數(shù)設(shè)置的
# 第二個notebook是要提交到的image name
sudo docker commit --change "ENV LANG=en_US.UTF-8" notebook notebook

# 然后可以關(guān)閉docker的終端了

運(yùn)行這個鏡像

其中:

-p 8888:8888 是暴露虛擬機(jī)的8888端口主機(jī)的8888端口
notebook su notebook -c 'jupyter notebook'
這句話第一個notebook是image name,是我們剛剛commit出來的。
第二個notebook是虛擬機(jī)中的用戶名,是我們剛才adduser的。
su notebook -c 'jupyter notebook' 的意思是以notebook用戶執(zhí)行 'jupyter notebook'這條命令
-d 是以服務(wù)的方式運(yùn)行(daemon)

這條命令不同于上一條命令

sudo docker run -d --name notebook -p 8888:8888 -v /home/qhduan/:/mnt -v /etc/localtime:/etc/localtime:ro notebook su notebook -c 'jupyter notebook'

然后就可以打開本地的8888端口

安裝軟件


sudo docker stop notebook

sudo docker rm notebook

sudo docker run -it --name notebook --rm -v /home/qhduan/:/mnt -v /etc/localtime:/etc/localtime:ro notebook

# 另一個terminal下
sudo docker commit notebook notebook

然后再起動

sudo docker run -d --name notebook -p 8888:8888 -v /home/qhduan/:/mnt -v /etc/localtime:/etc/localtime:ro notebook su notebook -c 'jupyter notebook'
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容