まとめ
- バージョンを切り替えたい気持ちは今のところないので
.env
は用意しなかった。 - イメージに tbls を追加するので Dockerfile を用意した。
- volumes に DB データを永続化するようにした。
これを用意すれば完成、という詳細情報
docker-compose.yml
services:
db:
build:
context: .
environment:
- LANG=C.UTF-8
- POSTGRES_PASSWORD=password
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --locale=C.UTF-8
- TZ=Asia/Tokyo
ports:
- 5432:5432
volumes:
- db-data:/var/lib/postgresql/data
volumes:
db-data:
Dockerfile
FROM postgres:16.1
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
ca-certificates \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN export TBLS_VERSION=1.73.2 \
&& curl -o tbls.deb -L https://github.com/k1LoW/tbls/releases/download/v$TBLS_VERSION/tbls_$TBLS_VERSION-1_amd64.deb \
&& dpkg -i tbls.deb \
&& rm tbls.deb
補足メモ
- k1LoW/tbls: tbls is a CI-Friendly tool for document a database, written in Go.
- postgres – Official Image | Docker Hub
おわり
データベースのドキュメントを自動的に作りたいのですが、 k1LoW/tbls を試してみようと思いました。 簡単にできるだろう、、、と思っていたのですが、つまづいてうまくできません。エラーメッセージを見ても、わかりません。 どこが悪いのか、、、 Docker を使っているのでネットワーク周りなのか、 PostgreSQL の内容に問題があるのか、わかりません。 ということで、一度小さな環境構成、小さなデータベース定義、など最小の構成で tbls を動かせるようにしようと決心し、今回の投稿となりました。
以上です。