当我尝试在redhat机器上的docker容器上运行一个简单的脚本时,我有一个奇怪的错误,这是Docker文件
From tomcat:7.0.70-jre7
ENV CLIENTNAME geocontact
ADD tomcat-users.xml /usr/local/tomcat/conf/
ADD app.war /usr/local/tomcat/webapps/
COPY app.sh /
ENTRYPOINT [“/app.sh”]
和app.sh是导致问题的脚本“仅在redhat上”
#!/bin/bash
set -e
mv /usr/local/tomcat/webapps/app.war /usr/local/tomcat/webapps/client1.war
catalina.sh run
和错误消息:
mv无法将'/usr/local/tomcat/webapps/app.war移动到其自身的子目录'/usr/local/tomcat/webapps/client1.war'
a screenshot for the error 这只在redhat上,我在ubuntu和centos上运行相同的图像没有问题。
答案 0 :(得分:4)
您可以用2个命令分割命令:
cp /usr/local/tomcat/webapps/app.war /usr/local/tomcat/webapps/client1.war
rm /usr/local/tomcat/webapps/app.war
答案 1 :(得分:2)
在您的Dockerfile中:ADD fileA fileB
。在创建映像时,会将fileA
重命名为fileB
。
答案 2 :(得分:-2)
您可以编辑容器内的文件并提交更改而无需修复图像。
docker commit existing_containername commited_image_name
然后用新的例如
运行容器docker run --name tomcat -td commited_image_name