在构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