Postgres Docker – unable to connect from remote server

I am using postgres:9.5.3 docker image. I am starting the containers and then trying to connect to the psql database from a remote host but each time it fails with the error:

psql: could not connect to server: Connection refused
Is the server running on host "" and accepting
TCP/IP connections on port 5432?

In my docker-compose file, I am mounting the pg_hba.conf. This is my docker-compose file:

  • Docker Run error with ENTRYPOINT
  • Kitematic Setup Error Docker
  • Is there any way to override the “network/ipc” container in the kubernetes pod declaration?
  • Docker: Can different containers use different base Images?
  • What is the most simple setup for a MEAN stack docker container to have the same config on OS X and DigitalOcean?
  • Can't connect to database with docker-compose with mysql and php 7
  • services:
            - test
          image: postgres:9.5.3
            - 5432
            - ./pgdata/:/var/lib/postgresql/data
            - ./pg_hba.conf/:/var/lib/postgresql/data/pg_hba.conf

    I have modified my pg_hba.conf file to accept remote connections from all hosts based on the instructions here. My pg_hba.conf is as follows:

    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    # "local" is for Unix domain socket connections only
    local   all             all                                     trust
    # IPv4 local connections:
    host    all             all                  trust
    # IPv6 local connections:
    host    all             all             ::0/0                   trust
    # Allow replication connections from localhost, by a user with the
    # replication privilege.
    #local   replication     postgres                                trust
    #host    replication     postgres            trust
    #host    replication     postgres        ::1/128                 trust
    host all all md5

    And my postgresql.conf has the following line too: listen_addresses = '*'

    When I try to connect to the database from the host I am running the container on, it connects successfully. But when I try to connect from any remote machine using the command psql -h -U postgres -d postgres -p 5432, it gives me the connection error that means remote connections are not working. With all these settings, I would expect it to connect. What am I missing here?

  • Why “Data Space Used” + “Data Space Available” != “Data Space Total” in docker?
  • How to attach visual studio 2015 debugger to previously deployed core docker container
  • Detect if Docker image would change on running build
  • Can't set shell variable in Dockerfile
  • Docker container won't run through a “CommandError:”
  • Docker can't install npm packages
  • One Solution collect form web for “Postgres Docker – unable to connect from remote server”

    It doesn’t seem like you are actually publishing the exposed port.

    instead of:

      - 5432


     - "5432:5432"

    expose docs:

    Expose ports without publishing them to the host machine – they’ll
    only be accessible to linked services. Only the internal port can be

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