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

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

4

1 回答 1

3

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

另一种方法是设置 root 密码并使用su. 这样做的一个例子是在 tutum 图像中

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

于 2015-02-20T19:55:58.290 回答