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

ygya80vv  于 2022-11-22  发布在  Docker
关注(0)|答案(2)|浏览(168)

我正在编写一个Dockerfile,我希望在其中创建一个用户并使用它,而不是root用户,因为这是推荐的做法。
我执行以下操作:

FROM python:3
WORKDIR /app
RUN adduser -D myuser
USER myuser
...

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

如果经常使用-d标志(例如here)在停靠文件中创建用户,但我不知道它应该是什么,disabled-password

kxkpmulp

kxkpmulp1#

它应该是RUN adduser --disabled-login myuser(或--disabled-password)

n53p2ov0

n53p2ov02#

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

相关问题