我正在使用CentOS 7。我从docker hub
中提取图像https://hub.docker.com/r/jboss/wildfly/
并从
获取战争https://github.com/arun-gupta/docker-for-java/tree/master/chapter2
运行以下命令
docker run -it --name=wf -p 8080:8080 -v /home/admin/webapp.war:/opt/jboss/wildfly/standalone/deployments/webapp.war jboss/wildfly
它在webapp.war上拒绝了我的许可
ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) WFLYDS0008: Failed checking whether /opt/jboss/wildfly/standalone/deployments/webapp.war was a complete zip: java.io.FileNotFoundException: /opt/jboss/wildfly/standalone/deployments/webapp.war (Permission denied)
如何在不对dockerfile进行任何更改的情况下授予wepapp.war文件权限?
答案 0 :(得分:4)
尝试制作自己的图片,如jboss-dockerfiles/wildfly
issue 19
有两种方法可以解决它:
将文件的所有者添加到带有chown的图像后更改文件的所有者(但这很丑陋......)
FROM jboss/wildfly
ADD your-awesome-app.war /opt/jboss/wildfly/standalone/deployments/
USER root
RUN chown jboss:jboss /opt/jboss/wildfly/standalone/deployments/*
USER jboss
更改主机的your-awesome-app.war文件的权限:
chmod 755 your-awesome-app.war
这将使容器内的jboss用户可以读取它,并且它将能够解压缩它。