Trying to create postgis inside docker file gives the error

Here is the command that I’m trying to run.

I’m using official postgres docker image.
I can’t find any info about ‘is not a database cluster directory’

  • Kubernetes Pod Creation Speed
  • Docker0 interface in CoreOS and Digital Ocean
  • Docker and local /etc/hosts records
  • Route over docker bridge network to docker overlay network
  • build from docker image using environment variable
  • Dotnet Antiforgery dll is missing in docker container in OSX
  • Step 7 : RUN pg_ctl start -w &&     createdb postgis_template -E UTF8 &&    psql -d postgis_template -c "create extension if not exists postgis;" &&    pg_ctl stop -w
         ---> Running in da5745cab398
        pg_ctl: directory "/var/lib/postgresql/data" is not a database cluster directory

  • Unable to start docker on SUSE 12
  • ansible_default_ipv4.address undefined in docker ubuntu
  • How to get ENV variable when doing Docker Inspect
  • Will my private github repo code become public if I use Docker automated build?
  • Is MariaDB data lost after Docker setting change?
  • Ubuntu and updating Docker
  • One Solution collect form web for “Trying to create postgis inside docker file gives the error”

    You’re getting this error because there is no database cluster created inside the postgres docker image when you’re attempting to run the pg_ctl start command.

    The database cluster is created when you run a docker container based on the image, as the initdb binary is called as part of the script that is set as the ENTRYPOINT for the postgres container.

    If you’re running your postgres container with a mounted data volume that is persistent across container restarts, you can just run this command once from a psql shell, or you can override the script and add your own custom one that creates the postgis extension.

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