【发布时间】:2017-12-13 06:55:54
【问题描述】:
在 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下的所有文件和目录
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命令。
【问题讨论】:
-
只要处理下一行,您的行
secret=...就“丢失”了,如果需要,请使用ENV... -
你在 boss/basejdk:8 中创建 /opt/jboss/wildfly 吗?如果没有,则需要创建此目录
-
@user2915097 我添加了
RUN mkdir /opt/jboss/wildfly -p相同的结果,从我看到执行mv命令的用户没有权限但不知道为什么以及如何解决这个问题。 -
Dockerfile hub.docker.com/r/jboss/base-jdk/~/dockerfile 导致 hub.docker.com/r/jboss/base/~/dockerfile 所以你是用户 jboss,1000:1000
-
你应该对你的 RUN 进行分组,参见docs.docker.com/engine/userguide/eng-image/…