我创建了一个用于运行wildfly服务器的docker镜像。在泊坞窗图片中,我定义了一个名为“imixs'”的单独用户。此用户正在容器内运行服务(wildfly服务器)。
正如我在几个例子中看到的,我用UID 1000创建了我的服务用户。
RUN groupadd -r imixs -g 1000 && useradd -u 1000 -r -g imixs -m -d /home/imixs -s /sbin/nologin -c "imixs user" imixs && \
chmod 755 /opt
现在我有这种情况,在主机上,缺少此UID,容器无法正确执行,因为服务(wildfly)声称缺少写入权限。
在这种情况下,是否建议使用-u选项启动容器,以使用与主机系统不同的用户运行容器?
docker run ... -u myuser ....
如何告诉docker-compose使用与主机系统不同的用户运行容器?
一般建议使用其他用户创建映像吗?
我的dokerfile可以在这里看到:https://hub.docker.com/r/imixs/wildfly/~/dockerfile/
答案 0 :(得分:0)
我想我必须撤回自己的问题。从docker版本1.6升级到当前版本1.13.0并将docker-compose表单1.5升级到1.10.0后,我解决了这个问题。 也许我的旧安装一般有问题,重新安装修复了这个问题。 在任何情况下,如果容器运行的服务与非特权用户(未由主机系统定义),我可以确认没有读/写权限问题。
回答我自己的问题: