【问题标题】:Permission to war file in jboss wildfly docker containerjboss wildfly docker容器中war文件的权限
【发布时间】:2018-02-12 05:44:01
【问题描述】:

我正在使用 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 文件的权限?

【问题讨论】:

    标签: docker jboss wildfly permission-denied


    【解决方案1】:

    尝试按照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 用户可读,并且能够解压它。

    【讨论】:

    • 如何在 docker 容器中运行chmod 755 your-awesome-app.war
    • @ShahidGhafoor 如果您按照建议构建自己的图像,则不必这样做。如果不这样做,请在安装该文件之前在本地尝试 chown。
    • 找不到你。我已经从 docker hub 获取了图像。现在我需要做什么?
    • @ShahidGhafoor 进行测试,您按照答案中的描述编写自己的 Dockerfile,docker build 它并运行它(无需将文件挂载为卷,因为它会直接复制到您的自定义文件中)图片)
    猜你喜欢
    • 2018-05-25
    • 2019-09-11
    • 2019-08-18
    • 1970-01-01
    • 2018-10-29
    • 2018-04-28
    • 2019-12-26
    • 1970-01-01
    • 2018-09-02
    相关资源
    最近更新 更多