我是第一次尝试码头工作,还没有"心理模型".初学者总数.
我正在查看的所有示例都包含要运行的-rm标志,例如
docker run -it --rm ...
docker container run -it --rm ...
Run Code Online (Sandbox Code Playgroud)
我的问题:为什么"--rm".我想如果我设置或下载容器中有好东西的麻烦,为什么要删除它,我想让它再次使用.
所以,我知道我对码头有错误的想法.
Docker新手
在Docker中使用Jupyter Notebook处理用户ID / GID和权限的最佳实践是什么?
当运行https://github.com/jupyter/docker-stacks/tree/master/scipy-notebook中的jupyter + python Dockerfile之一时,笔记本将以uid / gid 1000:100保存。如果已安装的主机文件夹不能由“ other”写入,则此操作将失败。
可以指定NB_UID和NB_GID运行笔记本图像,如下所示:
docker run -p 8888:8888 -it --rm -e NB_UID = $(id -u)-e NB_GID = $(id -g)-e GRANT_SUDO =是--user root --mount type = bind,source = “ $(pwd)”,target = / home / jovyan / work myimage
在这种情况下,容器中joyvan的uid / gid与我的 uid / gid 匹配,因此写入已安装的文件夹没有权限问题。但是,现在,jovyan(容器用户)无法访问/ opt / conda,它是1000:100拥有的,其他用户无法读取。因此,无法加载所有附加软件包!
我相信这会导致/ home / jovyan和/ opt / conda都和我同一个uid:gid拥有,一切都很好。但是,生成的图像只能由我使用。如果我将其提供给我的协作者(具有不同的uid),它将无法正常工作。
因此,似乎所有可能性都被阻止或选择不当。泊坞窗中的文件权限很困难。 …