1
0
mirror of https://github.com/vimagick/dockerfiles.git synced 2024-12-12 11:14:57 +02:00
dockerfiles/jupyter/README.md
2022-02-08 18:12:15 +08:00

68 lines
1.3 KiB
Markdown

jupyter
=======
Minimal Jupyter Notebook Stack
## docker-compose.yml
[how to select an image](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html)
```yaml
version: "3.8"
services:
notebook:
image: jupyter/minimal-notebook
ports:
- "8888:8888"
volumes:
- ./data:/home/jovyan
restart: unless-stopped
```
## up and running
```bash
$ cd ~/fig/jupyter/
$ mkdir -p data/.jupyter
$ chown -R 1000:100 data
$ docker-compose up -d
$ curl http://127.0.0.1:8888
```
## reset password
```bash
$ docker-compose exec notebook bash
>>> jupyter notebook password
Enter password: ******
Verify password: ******
[NotebookPasswordApp] Wrote hashed password to /home/jovyan/.jupyter/jupyter_notebook_config.json
$ docker-compose restart
```
## without password
File: ./data/.jupyter/jupyter_notebook_config.json
```json
{
"NotebookApp": {
"token": "",
"password": "",
"disable_check_xsrf": true
}
}
```
## kill idle kernels (1 week ago)
```bash
curl -s "http://127.0.0.1:8888/api/kernels" |
jq -r '.[]|select(now - (.last_activity|sub("\\..*Z";"Z")|fromdateiso8601) > 3600*24*7 and .connections==0).id' |
while read kid; do curl -s -w '\n' -X DELETE "http://127.0.0.1:8888/api/kernels/$kid"; done
```
## nginx config
- <https://hands-on.cloud/how-to-setup-jupyter-behind-nginx-proxy/>