为什么Docker官方图像不按照“最佳实践”的要求使用USER
发布时间:2020-12-16 03:27:29 所属栏目:安全 来源:网络整理
导读:Postgres,mariadb,mysql不使用USER.据推测,我们会审查官方图像是否符合最佳实践文档,尽可能使用requires USER.为什么? 最佳答案 从根本上说,用户无法在官方图片中使用.它与“开始用户应该能够在不需要了解entrypoint”的情况下运行官方图像bash的要求相冲突
Postgres,mariadb,mysql不使用USER.据推测,我们会审查官方图像是否符合最佳实践文档,尽可能使用requires USER.为什么? 最佳答案
从根本上说,用户无法在官方图片中使用.它与“开始用户应该能够在不需要了解–entrypoint”的情况下运行官方图像bash的要求相冲突.如果您没有root,则无法编辑配置文件,安装strace等软件包,特别是修复卷中的UID.实际上,官方形象风格被认为是(a)最佳实践. (因此,Docker用户指南应该强调以非root用户身份运行守护进程,而不是特别关注USER)
IMO这是一个问题.您可以学习的流行示例并未显示需要设置固定UID.否则,如果使用添加其他用户的基本映像进行更新,则必须手动进行干预.最佳实践说你应该考虑设置固定的UID,但它们甚至没有显示它的例子.因此,使用USER的prominent个simple Dockerfiles示例未设置固定UID.官方图像也没有设置固定的UID – 假装这样不是问题 – 但随后用chown强制数据卷,因为它们的入口点脚本以root身份运行.不太令人印象深刻 从技术上讲,官方Dockerfiles可以通过添加更多chown和UID交换到Dockerfile来修复,但这似乎是不可取的. 我想另一种选择是路径依赖的更新.也就是说,保持知名度,直到每个人都完成对固定UID的自动更新(几个月?),然后放弃它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- bash – AWS Data Pipeline – 如何从ShellCommandActivity
- angularjs – 开发一个移动应用程序,Ionic作为前端,Django作
- WebService系列博客{十一}[CXF整合spring实际案例]
- Bash:如何将文件夹中的所有内容移动到一个级别?
- macos – 用于在所有文件中搜索文本字符串的Unix命令
- webservice传递ResultSet结果
- scala – Spark中的takeSample()函数
- 使用bash:写入整数到文件的位表示
- 深入理解 Angular 变化检测(change detection)
- Angular项目构建指南 - 不再为angular构建而犹豫不决