如何通过Dockerfile为特权用户复制/添加资源?

使用自定义configuration文件从Dockerfile构build自定义容器的最佳方法是什么? 我想要做这样的事情:

FROM jboss/wildfly:latest USER jboss COPY configuration/standalone.xml /opt/jboss/wildfly/standalone/configuration/ 

但结果是复制的资源由用户“root”拥有。 这是Docker文档解释COPY和ADD命令的方式。 USER开关被忽略。

所以我的问题是:我应该总是在复制/添加新资源之后运行chown命令吗?

 FROM jboss/wildfly:latest USER jboss COPY configuration/standalone.xml /opt/jboss/wildfly/standalone/configuration/ RUN chown -R jboss /opt/jboss/wildfly/standalone/configuration/ 

这对我来说有点笨拙?

这对我来说有点笨拙?

是的,这是笨拙的,并在问题7537讨论,甚至修补公元9934年 。
但被拒绝了。

您可以查看PR 10775及其COPY --user=选项,该选项已合并。