我有这个Dockerfile ...
FROM keymetrics/pm2:latest-alpine
RUN apk update && \
apk upgrade && \
apk add \
bash
COPY . ./
EXPOSE 1886 80 443
CMD pm2-docker start --auto-exit --env ${NODE_ENV} ecosystem.config.js
如何使用
CMD
执行sudo
命令?我需要这样做,因为仅sudo用户允许使用端口443。
最佳答案
su-exec可以在 Alpine 中使用。
将其添加到软件包中,如果尚不可用,则将以下内容添加到您的Dockerfile中
RUN apk add --no-cache su-exec
在将要在docker中运行的脚本中,您可以使用以下命令成为另一个用户:
exec su-exec <my-user> <my command>
或者,您可以在构建docker-file时添加更多familiair sudo软件包
将以下内容添加到来自 Alpine 的Dockerfile中
RUN set -ex && apk --no-cache add sudo
之后,您可以使用sudo
sudo -u <my-user> <my command>
关于linux - 在Dockerfile中使用sudo(Alpine),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49225976/