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有
uid999个。在创建从容器到主机的绑定卷时,该卷中的所有文件都必须对同一
uids
具有相同的权限。在我的测试机上,docker的
guid值为999,这就是为什么它在主机端显示为999的原因。
至于“修复”,您可以使用
uiddockerfile中已知的(主机级)代替默认文件,也可以忽略它,因为它按预期工作,除非有特定原因需要它
uid在您的主机系统中显示特定名称。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)