docker - 高效地在 docker 中创建用户
问题描述
建议在 Docker中使用非 root 用户。但是当我尝试创建自定义非特权用户时,例如:
FROM alpine:3.13.5
USER 0
WORKDIR /opt/myproject/
RUN addgroup -g 2001 -S myuser && \
adduser -u 2001 -S myuser -G myuser &&\
chown 0:0 . &&\
chmod a=rX .
COPY --chown=2001:2001 /data /opt/myproject/data
USER 2001
Dive抱怨文件效率低下:
Analyzing image...
efficiency: 99.9567 %
wastedBytes: 4706 bytes (4.7 kB)
userWastedPercent: 97.5135 %
Inefficient Files:
Count Wasted Space File Path
2 2.4 kB /etc/passwd
2 1.4 kB /etc/group
2 881 B /etc/shadow
2 0 B /opt/ataccama/onecfg
Results:
FAIL: highestUserWastedPercent: too many bytes wasted, relative to the user bytes added (%-user-wasted-bytes=0.9751346871114794 > threshold=0.1)
有没有更有效的方法在 docker 中使用非特权用户,这样 Dive 就不会抱怨?
解决方案
推荐阅读
- excel - 如何使用 vba Excel 修复“运行时错误 91:“对象变量或未设置块变量”?
- python - 为什么你分配的初始值 p0 会在很大程度上影响拟合结果
- c# - C#:在文本框中查询多列
- oracle - 使用虚拟列的 Oracle 自动 LIST 分区不允许子表上的 REFERENCE 分区
- node.js - 如何在显示数据之前处理需要令牌的nodejs中的多个传入请求
- typescript - 泛型函数类型别名
- android - 本地数据持久化后如何处理 API 中的更新数据?
- ag-grid - ag-grid 主题自定义问题和 resolve-url-loader 失败
- java - 是否可以在另一个 JFrame 上显示一个类的图表?
- qt - 在另一个线程的槽中未接收到从线程发送带有 size_t 变量的信号