【发布时间】:2018-08-19 22:14:45
【问题描述】:
我有这个 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
如何使用sudo 执行CMD 命令?
我需要这样做,因为端口 443 只允许 sudo 用户使用。
【问题讨论】:
-
执行 CMD 时你仍然是 root。是什么让你认为事实并非如此?你能分享你用来启动你的容器的命令行吗?
-
Docker 本身以 root 身份运行,并且容器将默认为 root,除非您在镜像中设置了
USER,它不在基础镜像或 Dockerfile 中。你能解释一下你正在尝试做什么以及出了什么问题吗?有错误信息吗? -
@ChristopheSchmitz 我知道
CMD命令被执行了,我的问题是如何用sudo执行他 -
@Matt 我需要使用
sudo权限执行pm2命令,因为我需要使用端口443 运行它。在我的机器上本地我可以使用命令sudo pm2 sart运行pm2,但要部署我正在使用 docker 的应用程序,我也需要使用 sudo 运行 pm2 命令 -
执行 CMD 时您已经是 root。 sudo 在那里帮不上忙。
标签: linux docker docker-compose dockerfile pm2