Dockerfile中USER语句之后Ubuntu Docker容器的权限

4
我创建了一个 Dockerfile。
FROM       ubuntu:latest

作为父镜像。

随后,Dockerfile通过以下方式创建一个没有sudo权限的新组和用户:

RUN groupadd -r myappuser -g 433
RUN useradd -u 431 -r -g myappuser -d /opt/myapp -s /bin/false -c "my app user" myappuser

在执行应用程序之前,我切换到这个新的

USER       myappuser

问题:使用此设置后,在构建镜像并运行容器(使用docker exec -it等)后,是否可以再次获得根权限?


相关答案:https://dev59.com/ul4c5IYBdhLWcg3wn7mj#27703359 - Jens Piegsa
只是一个想法,你能将用户添加到sudoers中吗?或者这不是你要寻找的? - Greg
由于此用户专用于运行主应用程序,因此不应具有完全特权。 - Jens Piegsa
1个回答

3
如果您不想使用sudo,可以创建一个没有用户(因此它以root身份运行命令)和CMD指向执行用户切换的脚本的Dockerfile,这样docker exec将以root身份运行。另一种方法是设置root密码并使用su。在tutum图像中有一个这样做的示例。

https://github.com/tutumcloud/tutum-centos/blob/master/set_root_pw.sh


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接