tomcat - How can I automatically run a docker container on/after image build? -
i'm new docker sorry if miss obvious
my plan dockerfile.
- pull tomcat:7.0
- start server
- download helper files , unzip them.
- download required war file , rename root.war.
i've managed running these commands manually.
docker run -it --rm -p 8888:8080 tomcat:8.0
then manually doing wget's , renaming, although done in docker file.
this i've managed far.
from tomcat:7.0 run /bin/bash -c "cd /usr/local/tomcat/webapps" run /bin/bash -c "wget -o files.zip https://***" run /bin/bash -c "unzip files.zip" run /bin/bash -c "rm -r root" run /bin/bash -c "wget -o root.war https://***" although not sure how run docker line earlier docker run -it --rm -p 8888:8080 tomcat:8.0
i've taken line official tomcat online here. noticed mentioned run default tomcat server (cmd ["catalina.sh", "run"]): have no idea how implement this.
what dockerfile does, create image not container.
when docker build -t <tagname> . , see result (tagged) if run docker images.
you can run image create container.
you can specify cmd run (by default) in dockerfile. (i think)
cmd [ "catalina.sh", "run" ] so:
docker build -t my_tomcat_app . docker run -d -p 8888:8080 --name my_tomcat_container my_tomcat_app this create container image, , run whatever cmd said. can poke around inside docker exec
docker exec -it my_tomcat_container bash but it'll stay running (because of -d flag) , show in docker ps.
Comments
Post a Comment