Skip to content

Latest commit

 

History

History
85 lines (74 loc) · 1.47 KB

example.md

File metadata and controls

85 lines (74 loc) · 1.47 KB

PGDATA=/var/lib/postgresql/data/pgdata
POSTGRES_PASSWORD=mysecretpassword

cmd=/bin/bash
container=postgres
image_repository=academiaonline/postgres
mount_data=/var/lib/postgresql/data
mount_run=/run/postgresql
mount_var=/var/lib/postgresql
network=postgres
user=postgres
volume_data=postgres_data
volume_run=postgres_run
volume_var=postgres_var

docker \
    volume \
    create \
    ${volume_data}

docker \
    volume \
    create \
    ${volume_run}

docker \
    volume \
    create \
    ${volume_var}

docker \
    network \
    create \
    ${network}
    
docker \
    container \
    run \
    --detach \
    --env PGDATA=${PGDATA} \
    --env POSTGRES_PASSWORD=${POSTGRES_PASSWORD} \
    --name ${container} \
    --network ${network} \
    --read-only \
    --restart always \
    --volume ${volume_data}:${mount_data} \
    --volume ${volume_run}:${mount_run} \
    --volume ${volume_var}:${mount_var} \
    ${image_repository} \

while true
    do
        sleep 3
        docker container ls | grep Up.*${container} && break
    done
docker \
    container \
    exec \
    --interactive \
    --tty \
    --user ${user} \
    ${container} \
    ${cmd} \

command='\l'
dbname=postgres
username=postgres
psql \
    --command "${command}" \
    --dbname ${dbname} \
    --username ${username} \
    
docker container rm --force $( docker container ls --all --quiet )
docker network rm $( docker network ls --quiet )
docker volume rm $( docker volume ls --quiet )