Docker – Running Postgres Scripts inside Container

I have created a docker container for postgres using following link .Have few pre existing postgres scripts which i need to run it inside the container .

Docker Image link-
https://registry.hub.docker.com/_/postgres/

  • Is it correct to run a private Docker registry like a container?
  • how to create an All-In-One docker image using sbt-docker and sbt-assembly
  • Docker run using “some name/alias”
  • Is Docker ARG allowed within CMD instrcution
  • Chaos Monkey equivalent for Docker?
  • Boot2Docker Image (Ubuntu) Download Very Slow on Windows 8.1
  • Tried with following command still no luck

      ADD runsqlscripts.sh /root/runsqlscripts.sh
      CMD ["postgres" "/root/runsqlscripts.sh" ]
    

  • Docker-client Java: How to keep instances running?
  • How to manage multiple database schema from simple docker?
  • How to organize architecture of an isomorphic app using docker?
  • Unable to pull my private image from docker hub
  • Disable CSS and Javascript cache in nginx server created with Docker
  • Jenkins Docker Plugin does not seem to be provisioning slave containers for Jenkins builds
  • 2 Solutions collect form web for “Docker – Running Postgres Scripts inside Container”

    See a previous answer of mine for the best way to do this.

    "correct" way to manage database schemas in docker

    The problem is that you can’t run scripts immediately with the Dockerfile because Postgres won’t be running when the commands are issued.

    They recommend you run scripts from the docker-entrypoint.sh script, which will look at the ./docker-entrypoint-initdb.d directory for scripts that should be run after Postgres has started.

    WORKDIR /workspace
    CMD ["postgres", "/root/runsqlscripts.sh" ]
    
    docker run -v /root:/workspace IMAGE_ID
    

    If you want to map a host directory to your container in a given path, you need to call -v /host:/container in your container creation. Dockerfile can map directory but to a random path like /dev/disk/by-uuid/af414ad8-9936-46cd-b074-528854656fcd.

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