在构build泊坞窗图像时无法处理文件和目录

在Dockerfile中我有这样的:

FROM jboss/base-jdk:8 ENV WILDFLY_VERSION 10.1.0.Final ENV JBOSS_HOME /opt/jboss/wildfly ENV config $JBOSS_HOME/wildfly-10.1.0.Final/domain/configuration ENV master_address 192.168.56.10 ENV tmp /tmp/wildfly-10.1.0.Final/domain/configuration COPY wildfly-10.1.0.Final.tar.gz /tmp/wildfly-10.1.0.Final.tar.gz RUN cd /tmp/ RUN tar xf /tmp/wildfly-10.1.0.Final.tar.gz -C /tmp/ RUN sed -i -e 's/noed_name/$HOSTNAME/g' $tmp/host.xml RUN sed -i -e 's/host_master/$master_address/g' $tmp/host.xml RUN sed -i -e 's/secret_value/$secret/g' $tmp/host.xml RUN mv /tmp/wildfly-10.1.0.Final $JBOSS_HOME/ RUN rm /tmp/wildfly-10.1.0.Final.tar.gz RUN secret=$(echo $HOSTNAME | base64 ) ENV LAUNCH_JBOSS_IN_BACKGROUND true EXPOSE 8330 EXPOSE 9999 CMD ["/opt/jboss/wildfly/wildfly-10.1.0.Final/bin/domain.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"] 

错误:无法删除/tmp/wildfly-10.1.0.Final下的/tmp/wildfly-10.1.0.Final文件和目录

  mv: cannot remove '/tmp/wildfly-10.1.0.Final/welcome-content/wildfly.css': No such file or directory ... The command '/bin/sh -c mv /tmp/wildfly-10.1.0.Final $JBOSS_HOME/' returned a non-zero code: 1 

PS:在我无法运行tar ,命令返回No such a file or directory直到我切换到tmp文件夹,也是sed命令。

在我的机器中,我没有遇到问题。 我有这个其他的:

 Step 14/18 : RUN rm /tmp/wildfly-10.1.0.Final.tar.gz ---> Running in c4a839a8bf8b rm: cannot remove '/tmp/wildfly-10.1.0.Final.tar.gz': Operation not permitted 

我可以用适当的用户来解决这个问题:

 ... USER root RUN rm /tmp/wildfly-10.1.0.Final.tar.gz USER jboss ... 

我从这里下载了野蛮人:

 http://download.jboss.org/wildfly/10.1.0.Final/wildfly-10.1.0.Final.tar.gz 

然后你的Dockerfile变成这样:

 FROM jboss/base-jdk:8 ENV WILDFLY_VERSION 10.1.0.Final ENV JBOSS_HOME /opt/jboss/wildfly ENV config $JBOSS_HOME/wildfly-10.1.0.Final/domain/configuration ENV master_address 192.168.56.10 ENV tmp /tmp/wildfly-10.1.0.Final/domain/configuration COPY wildfly-10.1.0.Final.tar.gz /tmp/wildfly-10.1.0.Final.tar.gz RUN cd /tmp/ RUN tar xf /tmp/wildfly-10.1.0.Final.tar.gz -C /tmp/ RUN sed -i -e 's/noed_name/$HOSTNAME/g' $tmp/host.xml RUN sed -i -e 's/host_master/$master_address/g' $tmp/host.xml RUN sed -i -e 's/secret_value/$secret/g' $tmp/host.xml RUN mv /tmp/wildfly-10.1.0.Final $JBOSS_HOME/ USER root RUN rm /tmp/wildfly-10.1.0.Final.tar.gz USER jboss RUN secret=$(echo $HOSTNAME | base64 ) ENV LAUNCH_JBOSS_IN_BACKGROUND true EXPOSE 8330 EXPOSE 9999 CMD ["/opt/jboss/wildfly/wildfly-10.1.0.Final/bin/domain.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"] 

它的工作:

 $ docker build . .. .. .. Step 21/21 : CMD /opt/jboss/wildfly/wildfly-10.1.0.Final/bin/domain.sh -b 0.0.0.0 -bmanagement 0.0.0.0 ---> Running in 06a9043977bc ---> ab4b6a623f3f Removing intermediate container 06a9043977bc Successfully built ab4b6a623f3f 

您可以尝试再次丢弃以前的chache: docker build . --no-cache docker build . --no-cache