我创建了一个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

问题:此设置是否可以在构建镜像并运行容器后再次获得root特权(例如docker exec -it)?

最佳答案

如果您不想使用sudo,则可以有一个没有USER的Dockerfile(因此它以root身份运行命令),并且CMD指向执行用户切换的脚本,这样docker exec将以root身份运行。

另一种方法是设置root密码并使用su
一个例子是在肿瘤图像中

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

10-07 19:45
查看更多