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’

  • RabbitMQ on Docker: Pika hangs on connection when given port, connection refused without port
  • Docker Automated build downloading private jars from a Maven Sonatype Nexus repository
  • Secure Logging drivers with Docker?
  • Set up mapping in Elasticsearch during Docker run
  • Dockerhub Repository Description
  • How to rebuild dockerfile quick by using cache?
  • 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

  • Multi Maven Module Spring MVC Project to Spring Boot
  • What will happen after the maximum number of images pushed to ECR repository
  • How can I point stack at docker daemon started without using the socket file?
  • CoreOS not able to login with provided username and password in cloud-config file?
  • How to get IP address of container in docker-compse
  • Error getting container id in jenkins pipeline
  • 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.