Running Tomcat with PostgreSql using Dockerfile

I want to run a Tomcat with PostgreSql database within the same Dockerfile.

I have the following Dockerfile

  • Connect to a VNC inside a docker which is on remote server
  • Wierd Docker DNS error referencing C file?
  • Elastic Beanstalk Multicontainer Docker Environments: redirect requests between 2 APIs
  • replication controller in docker swarm world
  • Can not access wordpress configured in Docker even though its status is running
  • R - install.packages not working in docker on coreos on compute engine
  • FROM tomcat:8-jre7
    
    MAINTAINER "Sonam <mymail@gmail.com>"
    
    RUN apt-get -y update
    
    Add simplewebapp.war /usr/local/tomcat/webapps/
    
    RUN apt-get update && apt-get -y upgrade
    
    FROM postgres
    

    When I run the docker image, I can’t access the Tomcat like I could if I comment out the postgres. How do I get Postgres running and Tomcat too?

    thanks

  • Port forwarding in when running a Tomcat Docker in an AWS Elastic Beanstalk application
  • Changing path of docker containers in host system
  • ImagePullBackOff local repository with Minikube
  • Docker - Share UFS data
  • Unable to connect to mongoDB running in docker container
  • Docker how to start container with defined nameservers in /etc/resolv.conf
  • One Solution collect form web for “Running Tomcat with PostgreSql using Dockerfile”

    You can only take one image as your base, just the same as you can only have one OS installed.

    If you need to have two applications installed, then you need to build your own container – either starting from one and running the sequence of commands in the Dockerfile you need to install the other app, or just start from a base OS image, and install both.

    Alternatively – why do you need them in the same container? Something like --link might do what you want, more effectively. Just run two containers, and link them.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.