Running Tomcat with PostgreSql using Dockerfile

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

I have the following Dockerfile

  • How can avoid symlink problems with npm running in Docker on a Windows host?
  • What is the docker.sock equivalent on Windows 10?
  • Docker Remote API & Binds
  • Why isn't pyenv finding openssl shared libraries under Alpine Linux?
  • How to prevent database docker from being rebuilt and losing production data
  • making sure a given docker container is running
  • FROM tomcat:8-jre7
    MAINTAINER "Sonam <>"
    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?


  • Can't install docker - Permission denied?
  • Scaling: Docker containers vs Vms
  • Docker port bindings
  • Why does the ping from inside docker is faster than the main OS? [closed]
  • Docker Compose - Mount 2 volumes with the same path to a container
  • Installing cassandra on RHEL using docker
  • 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.