docker映像会覆盖基础映像中的用户

时间:2019-12-08 14:05:27

标签: docker jboss dockerfile wildfly microservices

我有一个子图像(图像X),它是从父图像(例如图像Y,从Y:最新)中派生的, 在父图像Y中,我有以下命令,

USER myuser

CMD ["myscript.sh"]

在这里,我希望脚本由用户'myuser'执行

在子图像X中,我将用户更改为

USER myNewUser

当我从该图像X构建容器时,我可以看到“ myscript”是由“ myNewUser”而不是“ myuser”运行的。

任何想法如何使用该图像中的用户定义在父图像中运行脚本,请帮忙!!!

1 个答案:

答案 0 :(得分:0)

  

当我从该图像X构建容器时,我可以看到   “ myscript”由“ myNewUser”运行,而不是由“ myuser”运行

根据您的此声明,您的图片基于X,并且您已经为用户添加了图片X

USER myNewUser

因此,如果您从X创建图像,则将始终使用myNewUser

如果您想要映像Y的用户,只要根映像为Y,只需在您的任何Dockerfile中更改用户即可

USER myuser

简而言之,当您的容器装满时,将使用该用户的任何用户。