简体   繁体   中英

Rename file in docker container

I'm having a weird Error when i try to run a simple script on docker container on redhat machine, this is the Docker file

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"]

and app.sh is the script that cause the problem "only on redhat"

#!/bin/bash
set -e
mv /usr/local/tomcat/webapps/app.war /usr/local/tomcat/webapps/client1.war
catalina.sh run

and the error message :

mv cannot move '/usr/local/tomcat/webapps/app.war to a subdirectory of itself, '/usr/local/tomcat/webapps/client1.war'

a screenshot for the error and this only on redhat, i run the same image on ubuntu and centos with no problems.

You can split your command in 2 commands :

cp /usr/local/tomcat/webapps/app.war /usr/local/tomcat/webapps/client1.war
rm /usr/local/tomcat/webapps/app.war

In your Dockerfile: ADD fileA fileB . That will rename fileA to fileB at the moment of image creation.

you can edit file inside container and commit changes without buiding image.

docker commit existing_containername commited_image_name

then run container with new for example

docker run --name tomcat -td commited_image_name

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM