docker - 在 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
?
解决方案
- 您
docker-compose up
在构建步骤中失败了。当 docker 尝试构建镜像时,它在 line 遇到错误RUN adduser -D myuser
- https://linux.die.net/man/8/useradd。您可以阅读手册中标志的含义。
- 去掉
-D
flag,也就是把命令改成RUN adduser myuser
,新的用户就会被添加进去,构建就可以进行下一步了。 - 如果您想更改 的默认值
adduser
,您可以阅读使用上面共享的文档中的标志。
推荐阅读
- javascript - 更新电子和更改 nodeIntegration 为 true 后出错
- bash - 将for循环结果转换为bash中的数组
- spring-boot - 在 Spring Boot 中通过方法限制对端点的访问
- ruby-on-rails - 如何设置通配符子域以用作客户端 DNS 提供商中的 CNAME 值
- oracle - Oracle 12C中如何确认连接数?
- python - Selenium Python一次处理多个webdriver
- javascript - 使用特定对象动态插入字符串
- sql - 计算 Redshift 中文本出现的次数
- unit-testing - 如何使用相互依赖的接口方法模拟结构
- java - 继续在 Android 的 Firebase 数据库中的现有数组中插入新数据