基于notebook 7.2.1,使用docker-compose启动
1. 设置登录密码
在python命令行执行:
from jupyter_server.auth.security import passwd
# 会提示输入密码
passwd
# 或者直接设置密码
passwd('its password')
➜ ~ python3
...
>>> from jupyter_server.auth.security import passwd
>>> passwd('its password')
'argon2:$argon2id$v=19$m=10240,t=10,p=......'
将生成的密码粘贴到文件jupyter_server_config.json中,文件内容:
{
"ServerApp": {
"password": "argon2:$argon2id$v=19$m=10240,t=10,p=......",
"password_required": true,
"allow_password_change": false
}
}
最终jupyter_server_config.json需要挂载到/home/jovyan/.jupyter/jupyter_server_config.json
2. 禁止jupyter-lab中访问外部网络
需要创建一个network并设置com.docker.network.bridge.enable_ip_masquerade: 'false',如下:
networks:
private:
driver: bridge
driver_opts:
com.docker.network.bridge.enable_ip_masquerade: 'false'
最终应用在service中:
networks:
- private
3. 最终的docker-compose.yml
version: '3.8'
services:
notebook:
image: jupyter/base-notebook
networks:
- private
ports:
- "18888:8888"
environment:
- JUPYTER_ENABLE_LAB=yes
- NB_USER=jovyan
volumes:
- ./jupyter_server_config.json:/home/jovyan/.jupyter/jupyter_server_config.json
user: "1000:100"
networks:
private:
driver: bridge
driver_opts:
com.docker.network.bridge.enable_ip_masquerade: 'false'
通过执行docker-compose up启动测试。