PostgreSQL を docker 上で動かしていろいろ楽したい
いろんなバージョンを作っては消ししたい
色々なバージョンの PostgreSQL を立てては捨てているので docker が便利。公式のやつを使おう。
公式の解説があったがこれは上使ってないな。
PostgreSQL の Docker 化 — Docker-docs-ja 17.06 ドキュメント
client
psql は入れておきましょう
$ sudo apt install postgresql-client-12
適当に立てる、消す場合
from とりあえず Docker で PostgreSQL を動かす手順 - Qiita
alpine はシンプルな linux index | Alpine Linux
$ docker run --rm -d \
-p 15432:5432 \
-v postgres-tmp:/var/lib/postgresql/data \
-e POSTGRES_HOST_AUTH_METHOD=trust \
postgres:12-alpine
postgresql.conf も設定する場合
$ docker run -d --name some-postgres -v "$PWD/my-postgres.conf":/etc/postgresql/postgresql.conf -e POSTGRES_PASSWORD=mysecretpassword postgres -c 'config_file=/etc/postgresql/postgresql.conf'
接続
trust 指定しているのでパスワード無し
$ psql -h localhost -p 15432 -U postgres
今動いてるやつ一覧
$ docker ps
コンテナIDをゲットしたら下記でさよなら
正直適当
$ docker rm -f <コンテナID>
docker compose でちょっと丁寧に
from Docker で作る postgres 環境 | Crudzoo
docker file
FROM postgres:12-alpine
docker-compose.yaml
version: '3'
services:
db:
build: .
ports:
- 15432:5432
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: testdb
postgresql.conf
起動、停止
$ ls
Dockerfile docker-compose.yaml
起動
docker-compose up -d
接続
psql -h localhost -p 15432 -U postgres
停止
docker-compose down