2016-06-09 67 views
2

使用自定义配置文件从Dockerfile构建自定义容器的最佳方式是什么?我想要做这样的事情:如何通过Dockerfile为特权用户复制/添加资源?

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/ 

这对我来说有点笨拙吗?

回答

2

这对我来说有点笨拙吗?

是的,它很笨拙,它在issue 7537讨论,甚至在PR 9934修补。
但拒绝。

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