目標
主機的瀏覽器使用服務器端宿主機中的docker容器中的jupyter notebook, 從而能夠使用docker容器中的開發環境(這里主要是python的開發環境)
整體思路
docker容器中的端口和宿主機的端口做映射 --> 主機使用宿主機的ip和對應的端口
步驟
使用docker 命令建立container
docker run -p 7777:8888 [other options]
# 這里的7777可以自己選擇, 8888是jupyter notebook默認的端口,最好用這個
-p 是端口的映射,即讓宿主機7777端口映射docker容器的8888端口
在container里安裝jupyter notebook
如果container中沒有jupyter notebook中,則下載jupyter notebook(有則忽略)
pip install jupyter notebook
# 可以使用清華鏡像加速下載
# pip install --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple jupyter notebook
配置遠程訪問jupyter
生成密碼
進入python交互模式,然后再python交互模式中分別輸入
>>> from notebook.auth import passwd
>>> passwd()
輸入完成后設定一個密碼,會生成一個sha1的秘鑰會有如下的結果
把秘鑰保存下來,退出python交互。
生成jupyter notebook的配置文件
jupyter notebook --generate-config
這時候會生成配置文件,在 ~/.jupyter/jupyter_notebook_config.py
修改配置文件
vim ~/.jupyter/jupyter_notebook_config.py
# 沒有vim的話要自己先安裝個vim
加上如下內容,其中sha1那一串秘鑰是上面生成的那一串
c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha1:41e4da01dde4:e820dc9c0398eda2dc9323c9e4a51ea1228166a2'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888
打開jupyter notebook
jupyter notebook --allow-root
主機訪問jupyter notebook
瀏覽器中輸入:
1.<宿主機IP>:7777
2.輸入上述你自己設置的密碼
'''
例子如下:
10.1.69.64:7777
123456
'''
保存docker成新的鏡像
docker commit [容器ID] [鏡像名]
參考鏈接: