Postgres Docker Image: Failed to map database to host

I’m using the stock official Postgres image from Docker Hub. docker pull postgres. I wanted to map the data directory in the Postgres container to my OS X host. So, I tried this.

docker run --rm -p 5432:5432 -e POSTGRES_PASSWORD=mypass -v `pwd`/data:/var/lib/postgresql/data postgres

This resulted in the Postgres container failing to launch correctly.

  • Running Tomcat with PostgreSql using Dockerfile
  • Docker for Windows can't reach the database in Windows 10 enterprise evaluation
  • How to keep a service running on a Docker container
  • Can't access php-fpm container from apache
  • Docker - issue command from one linked container to another
  • Cannot connect to the Docker daemon at tcp:// Is the docker daemon running?
  • fixing permissions on existing directory /var/lib/postgresql/data ... ok
    creating subdirectories ... initdb: could not create directory "/var/lib/postgresql/data/global": Permission denied
    initdb: removing contents of data directory "/var/lib/postgresql/data"

    The goal I’m trying to achieve is to have my database data stored on the host machine, so that I can start a postgres container and have it read (or load) the database from a previous instance. Am I on the right track or is this a stupid way to achieve database persistence?

  • Rails console into Docker on Heroku
  • Update odoo custom module using docker-compose
  • Go shared libraries for Docker containers to share
  • Spring-boot application wont boot at startup inside docker
  • How to build my docker (nodejs) container in travis and run in production
  • How to use the docker remote API?
  • One Solution collect form web for “Postgres Docker Image: Failed to map database to host”

    According to official documentation you should use boot2docker to resolve the issue. However, without it, you won’t be able to mount container.

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