This postgres
service intended to be used only on development phase.
pqs
designed for one-time use because it used for development only.
no persistent volume. Easy to start, easy to destroy.
$ docker build -t TAG .
$ docker run -d --name postgres TAG
$ docker stop postgres
$ docker start postgres
TODO: bedakan image sama service!
Instalation using debian package. No need to initialize database cluster. Because standart installation already creates a default cluster.
Default installation /etc/postgresql/9.3/main/postgresql.conf
Default debian installation use /var/lib/postgresql/9.3/main
This file for setting up client authentication.
Default installation /etc/postgresql/9.3/main/pg_hba.conf
TODO: Create username, password and database outside
Dockerfile due security reason.
Initialize extra user & create new database in Dockerfile
with command below:
RUN /etc/init.d/postgresql start &&\
psql --command "CREATE USER bayu WITH SUPERUSER PASSWORD 'bayu';" &&\
createdb -O bayu automata
NOTE: this command must running as postgres
user.
Manage data on postgres
server container using running postgres
client
container as a client.
Make sure postgres
container already running
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9e4232251c2d bayu/pqs:v0 "/usr/lib/postgresql 10 hours ago Up 2 seconds 5432/tcp pg_server
Then run a postgres
client based on same image to manage data. Don't forget
to link pg_server
to pg_client
$ docker run -it --name pg_client --entrypoint /bin/bash --link pg_server:database bayu/pqs:v0
Now you are ready to manage data using psql
$ psql -h database -U bayu -d automata
- configure timezone to GMT+7
- dynamically configured user and password for database