加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

为什么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的自动更新(几个月?),然后放弃它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读