Budibase②DB環境を構築してみる。
1.本記事について
AWSにてBudibaseの環境を構築してみたので、データ保管先のDBを準備した。
その備忘録。
2.準備したDB環境
実務で想定しているpostgresql-9.6を作成。(古いが・・)
適切なイメージがあったので、これを利用する。
https://hub.docker.com/r/postgresqlaas/docker-postgresql-9.6
# コンテナイメージの取得
docker pull postgresqlaas/docker-postgresql-9.6
※既存DBを使わない、DBにこだわらない場合、
Budibaseが内包しているDBを利用できる。
3.BudibaseとDB環境の接続
以下を参考に、Budibaseのコンテナとpostgresql-9.6のコンテナ間の接続を確立する。
accessing a docker container from another container - Stack Overflow
①ネットワーク作成
docker network create myNetwork --subnet=172.18.0.0/24
※注意※
サブネットは指定必須。指定しないとランダムなサブネットが割り当てされる
公式ドキュメント参照:
network コマンドを使う — Docker-docs-ja 19.03 ドキュメント
②コンテナとネットワークを接続
docker network connect myNetwork postgresql
docker network connect myNetwork bbapps
結果は以下で確認した。
docker network inspect myNetwork
-----------------------------------------
"ConfigOnly": false,
"Containers": {
"41cb024e89e0e74c0906fd8b035357eb83f7cb005b4319bff4f036b123015740": {
"Name": "bbapps",
"EndpointID": "7896a28f69fd73b4603bb43b2e46d93974c62d56ba9be2ccf5461ccf82738336",
"MacAddress": "02:42:ac:13:00:03",
"IPv4Address": "172.19.0.3/16",
"IPv6Address": ""
},
"7b36ed3e27e6257e400afb9c6bc892810395e2a33e667757301e83959c905a7d": {
"Name": "postgresql",
"EndpointID": "69786b1e1e8326a1b0eb971bf307da5de2a466a5043e482181457c476285b0bb",
"MacAddress": "02:42:ac:13:00:02",
"IPv4Address": "172.19.0.2/16",
・
・
-----------------------------------------
4.DB環境の展開
①データを永続化するための保管先ディレクトリを作成。
mkdir -p /postgresql
②DBの展開
docker run -d --name postgresql -p 5432:5432 -e POSTGRES_USERNAME=test -e POSTGRES_PASSWORD=test_password -e POSTGRES_DBNAME=test -v /postgresql:/data --network=myNetwork --ip=172.18.0.100 --restart=always postgresqlaas/docker-postgresql-9.6
色々、入れたい設定を追加した。
1.「-p 5432:5432」ホスト:5432から接続できるようにする。
2.「-v /postgresql:/data」データを永続化するための保管先。
3.「--network=myNetwork」BudiBaseと同じネットワークに配置。
4.「--ip=172.18.0.100」起動時に毎回変わると手間なのでIPアドレスを固定。
5.「--restart=always 」インスタンス起動後、コンテナを自動起動する。
③接続確認
# psqlの利用に必要なパッケージをインストール
apt install postgresql-client
# 接続テスト
psql -h 127.0.0.1 -p 5432 -U test
-----------------------------------------
Password for user test:
-----------------------------------------
→ 問題なく接続できそう。
※補足※
本コンテナは、パスワード等未指定の場合、以下で確認可能。
docker logs postgresql
5.サンプルDB定義の投入
①psqlにて接続して、以下に記載されているサンプルSQLを実行する。
以上で、やっとBudiBaseでアプリを作成できるようになる。
次回:BudiBaseのバックアップ設定を行う。
現状undo機能がないので必須と思われる。※近日実装されるかも。