我正在尝试将 jupyter-lab 添加到我现有的 docker 映像之一(带有 R、python 和特定于工作的库)以进行交互式测试。
一个有效的示例是这个 Dockefile:
FROM my_existing_image
# Install jupyter lab (assuming python3 and pip3 already installed)
RUN pip3 install jupyterlab
# Declare port used by jupyter-lab
EXPOSE 8888
# Set default command
CMD ["jupyter", "lab", "--port=8888", "--no-browser", "--ip=0.0.0.0", "--allow-root"]
Run Code Online (Sandbox Code Playgroud)
但是,我们有一个共享 NFS 驱动器,我们将其安装在/mnt/NAS. 要以正确的权限从 docker 容器访问共享文件夹,我们通常使用以下标志启动它们:
docker run -u $(id -u ${USER}):$(id -g ${USER}) -v /mnt:/mnt my_image
Run Code Online (Sandbox Code Playgroud)
但是,-u( --user) 选项会阻止 juyter-lab 正常启动,并且我收到以下错误消息:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/traitlets/traitlets.py", line 528, …Run Code Online (Sandbox Code Playgroud)