Running Tomcat with PostgreSql using Dockerfile

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

I have the following Dockerfile

  • Understanding “VOLUME” instruction in DockerFile
  • Windows 7 - Error: connect ENOENT //./pipe/docker_engine
  • Why does AWS have two services to deploy Docker (one “Infra” and one “Platform”)?
  • Which hostname to choose from a group of zookeepers
  • Docker configure physical location
  • Nginx: preserve port during redirect
  • 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?


  • How to connect docker containers in separate deployments on the same host machine using docker-compose?
  • What is /usr/sbin/service doing under a Docker container
  • Volumes not binding with the docker remote API
  • Docker: Best practice for development and production environment
  • WSO2 version 2 docker files
  • How to start another bash in Dockerfile
  • 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.