当前位置:  开发笔记 > 运维 > 正文

Docker从主机复制容器中的UID/GID

如何解决《Docker从主机复制容器中的UID/GID》经验,为你挑选了1个好方法。

在创建Docker容器时,我一直遇到UID/GID没有反映在容器中的问题(我意识到这是设计的).我正在寻找的是一种保持主机权限合理和/或从我的Docker容器中的主机用户/组帐户复制UID/GID的方法.例如:

主持人 -

woot4moo:X:504:504:woot4moo:/首页/ woot4moo:/斌/庆典

我想在Docker容器中使用相同的行为.话虽这么说,这甚至是做这种事情的正确方法吗?我的信念是我可以简单地运行:

useradd -u 504 -g 504 woot4moo

作为我的Dockerfile的一部分,但我不确定这是否有效.



1> larsks..:

您不希望将其作为映像构建过程的一部分(在Dockerfile中)运行,因为某人运行容器的主机通常不是构建映像的主机.

解决此问题的一种方法是通过环境变量传递UID/GID信息:

docker run -e APP_UID=100 -e APP_GID=100 ...

然后ENTRYPOINT在运行之前有一个包含以下内容的脚本CMD:

useradd -c 'container user' -u $APP_UID -g $APP_GID appuser
chown -R $APP_UID:$APP_GID /app/data

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有