Skip to content

Instantly share code, notes, and snippets.

@rafaelhenrique
Last active October 8, 2018 17:39
Show Gist options
  • Save rafaelhenrique/f59619c69042992c4bc9449b59bc9ab4 to your computer and use it in GitHub Desktop.
Save rafaelhenrique/f59619c69042992c4bc9449b59bc9ab4 to your computer and use it in GitHub Desktop.
Create postgresql docker container
#!/bin/bash
VOLUME=$(echo $VOLUME)
PORT=$(echo $PORT)
NAME=$(echo $NAME)
POSTGRES_PASSWORD=$(echo $POSTGRES_PASSWORD)
VERSION="latest"
DATE=$(date +"%d%m%Y-%H%M%S")
PARAM="$1"
if [ "$PARAM" == '-h' ]; then
echo "environment: VOLUME, PORT, NAME, POSTGRES_PASSWORD"
exit 0
fi
if [ -z $VOLUME ]; then
VOLUME="$(pwd)/docker-volumes/data_postgres.$NAME.$DATE"
fi
if [ -z $PORT ]; then
PORT=5432
fi
if [ -z $NAME ]; then
NAME=postgres
fi
if [ -z $POSTGRES_PASSWORD ]; then
POSTGRES_PASSWORD=123
fi
echo "Overview:"
echo "VOLUME: $VOLUME"
echo "PORT: $PORT"
echo "NAME: $NAME"
echo "POSTGRES_PASSWORD: $POSTGRES_PASSWORD"
echo "confirm? (y/n)"
read CONFIRMATION
if [ "$CONFIRMATION" != "y" ]; then
echo "Bye!"
exit 0
fi
mkdir -p $VOLUME
docker pull postgres:${VERSION}
docker run -t -i -p $PORT:5432 --name $NAME -v $VOLUME:/var/lib/postgresql/data -e POSTGRES_PASSWORD=$POSTGRES_PASSWORD postgres:${VERSION}
if [ $? -ne 0 ]; then
docker start $NAME
CONTAINER_ID=$(docker ps -a -f name=$NAME --format "{{.ID}}")
docker logs -f $CONTAINER_ID
fi
@rafaelhenrique
Copy link
Author

rafaelhenrique commented May 16, 2018

Use:

VOLUME=/home/user/docker-containers/my_volume NAME=my_container ./create_postgresql_container.sh 

Optional parameters:

PORT - postgresql port
POSTGRES_PASSWORD - postgresql password

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment