首页 > 解决方案 > 在 Dockerfile 中创建用户:选项 d 不明确

问题描述

我正在编写一个 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标志(例如此处)在 dockerfile 中创建用户,但我无法弄清楚它应该是什么,disabled-password

标签: dockerdocker-composedockerfile

解决方案


  • docker-compose up在构建步骤中失败了。当 docker 尝试构建镜像时,它在 line 遇到错误RUN adduser -D myuser
  • https://linux.die.net/man/8/useradd。您可以阅读手册中标志的含义。
  • 去掉-Dflag,也就是把命令改成RUN adduser myuser,新的用户就会被添加进去,构建就可以进行下一步了。
  • 如果您想更改 的默认值adduser,您可以阅读使用上面共享的文档中的标志。

推荐阅读