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

时间:2015-02-20 10:26:22

标签: ubuntu docker root dockerfile

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

1 个答案:

答案 0 :(得分:3)

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

其他方法是设置root密码并使用su。 这样做的一个例子是tutum图像

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