在 Dockerfile 中创建用户:选项 d 不明确

sno*_*ogg 11 docker dockerfile docker-compose

我正在编写一个 Dockerfile,我想在其中创建一个用户并使用它而不是rootuser,因为这是推荐的做法。

我执行以下操作:

FROM python:3
WORKDIR /app
RUN adduser -D myuser
USER myuser
...
Run Code Online (Sandbox Code Playgroud)

docker-compose up奖励我以下错误消息:

...    
Option d is ambiguous (debug, disabled-login, disabled-password)
ERROR: Service 'webapp' failed to build: The command '/bin/sh -c adduser -D myuser' returned a non-zero code: 1
Run Code Online (Sandbox Code Playgroud)

-d标志是否经常使用(例如此处)在 dockerfile 中创建用户,但我不知道它应该是什么,disabled-password

小智 -3

  • 您的docker-compose up构建步骤失败了。当 docker 尝试构建映像时,它在该行遇到错误RUN adduser -D myuser
  • https://linux.die.net/man/8/useradd。您可以阅读手册,了解这些标志的含义。
  • 删除-D标志,即将命令更改为RUN adduser myuser,新用户将被添加,并且构建将能够继续下一步。
  • 如果您想更改 的默认值adduser,您可以阅读上面共享的文档中的使用标志。