Amine
Amine

Reputation: 172

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.

Upvotes: 9

Views: 54439

Answers (3)

Vadym Tyemirov
Vadym Tyemirov

Reputation: 8843

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

Upvotes: 19

Sofiane Daoud
Sofiane Daoud

Reputation: 888

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

Upvotes: 11

Meiram Chuzhenbayev
Meiram Chuzhenbayev

Reputation: 906

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

Upvotes: -3

Related Questions