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