在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 的縮寫(xiě)
-t 模擬終端模式
-i 接受用戶輸入
--rm 運(yùn)行之后刪除這個(gè)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
# 加一個(gè)用戶
adduser notebook
# 進(jìn)入用戶
su notebook
# 生成jupyter配置文件
jupyter notebook --generate-config
# 修改jupyter配置文件
vim ~/.jupyter/jupyter_notebook_config.py
# 加入下面內(nèi)容到最下面
# 不自動(dòng)中啟動(dòng)時(shí)打開(kāi)瀏覽器
c.NotebookApp.open_browser = False
# 綁定ip
c.NotebookApp.ip = '*'
# 綁定端口
c.NotebookApp.port = 8888
# 默認(rèn)啟動(dòng)目錄
c.NotebookApp.notebook_dir = '/mnt'
# 然后保存退出
# 設(shè)置jupyter密碼
jupyter notebook password
# 開(kāi)另一個(gè)終端(非當(dāng)前的docker的)
# 把當(dāng)前名為notebook的docker container提交到一個(gè)名為notebook的image
# 其中 --change "ENV LANG=en_US.UTF-8"是設(shè)置一個(gè)語(yǔ)言的環(huán)境變量
# 第一個(gè)notebook是當(dāng)前的container name咒吐,是我們之前run的時(shí)候--name參數(shù)設(shè)置的
# 第二個(gè)notebook是要提交到的image name
sudo docker commit --change "ENV LANG=en_US.UTF-8" notebook notebook
# 然后可以關(guān)閉docker的終端了
運(yùn)行這個(gè)鏡像
其中:
-p 8888:8888 是暴露虛擬機(jī)的8888端口主機(jī)的8888端口
notebook su notebook -c 'jupyter notebook'
這句話第一個(gè)notebook是image name酪夷,是我們剛剛commit出來(lái)的转唉。
第二個(gè)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'
然后就可以打開(kāi)本地的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
# 另一個(gè)terminal下
sudo docker commit notebook notebook
然后再起動(dòng)
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'