为什么docker-compose使用user:group 999:999创建目录文件?

为什么docker-compose使用user:group 999:999创建目录文件?,第1张

为什么docker-compose使用user:group 999:999创建目录/文件?

Docker

mysql
使用映像所使用的用户创建并填充目录。该用户当然
uid
容器内。这
uid
恰好是999。

具有该用户的用户

uid
在容器中,但在您的主机中不存在。

在容器上,文件夹如下所示:

root@f86ffddac96c:/var/lib# ls -ltotal 32...drwxr-xr-x 5 mysql mysql 4096 Mar 19 13:06 mysql...

在主机上看起来像这样

root@machine:/home/username/mysql/var/lib# ls -ltotal 4drwxr-xr-x 5 999 docker 4096 Mar 19 15:06 mysql

这仅表示用户

mysql
uid
999个。在创建从容器到主机的绑定卷时,该卷中的所有文件都必须对同一
uid
s
具有相同的权限。在我的测试机上,docker的
guid
值为999,这就是为什么它在主机端显示为999的原因。

至于“修复”,您可以使用

uid
dockerfile中已知的(主机级)代替默认文件,也可以忽略它,因为它按预期工作,除非有特定原因需要它
uid
在您的主机系统中显示特定名称。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5010009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存