首页 > 解决方案 > 高效地在 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 就不会抱怨?

标签: docker

解决方案


推荐阅读