以非root用户身份启动Mongodb容器

我正在使用mongo:3.2的官方mongodb docker。 在entrypoint.sh我重新启动与复制模式的Mongodb。 Mongodb进程由root用户拥有。 有没有什么办法可以通过非root用户启动容器,并能够在副本集模式下重启mongodb。 现在我收到以下错误。

在initAndListen:98中存储[initandlisten]exception无法创build/打开locking文件:/data/db/mongod.lock errno:13权限被拒绝是否mongod实例已经在运行?终止

我的docker文件是

FROM mongo:3.2 COPY entrypoint.sh /root/entrypoint.sh ENTRYPOINT ["/root/entrypoint.sh"] here 

谢谢,

您可以使用user – group格式的标志–user来在docker run命令上自定义用户

当使用ENTRYPOINT,CMD,RUN指令来启动/执行所需用户的进程时,可以使用dockerfile中的USER命令。

句法:

USER <user>[:<group>]
USER <UID>[:<GID>]

例:

 FROM mongo:3.2 COPY entrypoint.sh /root/entrypoint.sh USER deploy:root ENTRYPOINT ["/root/entrypoint.sh"] 

user2010672更新:(工作解决scheme)

 FROM mongo:3.2 COPY entrypoint.sh /root/entrypoint.sh RUN chown -R mongodb:mongodb /var/log /data/db USER mongodb ENTRYPOINT ["/root/entrypoint.sh"] 

感谢user2010672