Permission denied when writing notebook (gds_py)
sjsrey opened this issue · 4 comments
After starting with:
docker run --rm -ti -p 8888:8888 -v ${PWD}:/home/jovyan/work darribas/gds_py:5.0
And entering the work
directory from within the lab interface, I then hit a permission error when trying to create a new notebook:
To access the notebook, open this file in a browser:
file:///home/jovyan/.local/share/jupyter/runtime/nbserver-6-open.html
Or copy and paste one of these URLs:
http://5cddaadc8a76:8888/?token=d70e2a51119feb296a91825995e4d96e67509ef79464e2d3
or http://127.0.0.1:8888/?token=d70e2a51119feb296a91825995e4d96e67509ef79464e2d3
[I 21:14:35.166 NotebookApp] Build is up to date
[I 21:14:41.163 NotebookApp] Creating new notebook in /work
[I 21:14:41.170 NotebookApp] Saving Untitled.ipynb
[I 21:14:41.315 NotebookApp] Writing notebook-signing key to /home/jovyan/.local/share/jupyter/notebook_secret
[W 21:14:41.319 NotebookApp] HTTP 403: Forbidden (Permission denied: work/Untitled.ipynb)
Creating a new notebook above work
is fine, but that notebook is ephemeral as it isn't part of the mount.
I can get things to work on the host (Ubuntu 20.04) with:
docker run --rm -ti -p 8888:8888 --user root -e NB_UID=1001 -e NB_GID=1001 -v $(pwd):/home/jovyan/work darribas/gds_py:5.0
On macOS Catalina, I don't encounter any issues. So perhaps this is specific to that linux install?
Yes, this has to do with the UID
of the host user Vs that of the container user. If it's not aligned, you need to map it:
docker run --rm -ti --user root -e NB_UID=$UID -e NB_GID=100 -p 8888:8888 -v ${PWD}:/home/jovyan/work darribas/gds_py:5.0
On macOS, I suspect the Docker Desktop app you access containers through does this mapping automatically.
Closing the issue but, if you run into further issues, please reopen and we'll deal with it.