#author("2020-07-17T03:14:02+09:00","default:nobuoki","nobuoki")
* PostGIS ワークショップ をコンテナで試す [#qdb5d9da]

#author("2020-07-22T12:17:06+09:00","default:nobuoki","nobuoki")
- [[yoichigmf/postgis-workshop at jp>https://github.com/yoichigmf/postgis-workshop/tree/jp]] をコンテナで試したいですよね?
-- やっぱ PostGIS 3系で試したいですよね!
-- プロキシ環境下でも動かしたいですよね!
-- pgAdminじゃなくてAdminerが好きですよね!

という要望がどれくらいあるか分かりませんがやってみました

注意:docker な人は予め
  alias podman=docker
  alias podman-compose=docker-compose
しといて下さい

** TL;DR [#i1029ca3]

#prism(bash){{{
# Pod(コンテナ)起動
wget -qO docker-compose.yml 'https://gist.github.com/kemasoft-gist/4195ef7d8dd2861e9fe8a8d583cfe113/raw'
podman-compose up -d

# 仕込み(最後の ... まで一気にコピーしてターミナルにペースト
podman exec -i -e http_proxy="$http_proxy" -e https_proxy="$https_proxy" $(basename $(pwd))_db_1 bash -x <<'...'
apt update
apt -y install sudo git p7zip-full wget unzip postgis
cd /tmp
[ "x$https_proxy" = "x" ] || su - postgres -c "git config --global https.proxy $http_proxy"
sudo -E -u postgres git clone https://github.com/yoichigmf/postgis-workshop.git
cd postgis-workshop/scripts
sudo -E -u postgres bash -x STEP_1-CREATE.sh
sed 's/wget -O/wget --no-check-certificate -O/' STEP_2-DOWNLOAD-DATA.sh | bash -x
sudo -E -u postgres bash -x STEP_3-LOAD.sh
...
}}}

** 具体的な使い方 [#v1d3d695]

psqlしたい
#prism(bash){{{
$ podman exec -it $(basename $(pwd))_db_1 bash -c 'psql -U postgres postgis'
}}}

pgAdmin使いたい
- ブラウザで http://母艦のIP:8000
-- pgAdminer の id/pw; postgres/example
-- ログイン後にDB接続を作る
--- 一般 -> 名前:db
--- 接続 -> ホスト名/IPアドレス:db

えーイマドキは Adminer だよね?
- ブラウザで http://母艦のIP:8080
-- ユーザ名: postgres
-- パスワード: example
-- データベース: postgis


** ポイント [#sa35f028]
- いわゆる「コンテナにログインして◇◇コマンドを叩く」の自動化
-- ヒアドキュメントを podman exec -i で流し込む
--- つか「コンテナにログイン」とか意味不明だから口にしない方がいいよ
- コンテナイメージ postgis/postgis の素のままでは不足するパッケージを追加
- (ちょっといい加減だけど)プロキシ対応
-- apt, curl は環境変数で
-- git は git config で
-- プロキシが無い環境でもそれなりに動くことを確認済み
- 期限切れサーバ証明書サイトからのダウンロードを何とかする
-- STEP_2-DOWNLOAD-DATA.sh

** 謝辞 [#t64705c8]
yoichigmf さん、ナイスな和訳ありがとうございます!

** docker-compose.yml の中身 [#o349f58d]
postgis + pgAdmin + Adminer のごった煮でござる
#gist(kemasoft-gist/4195ef7d8dd2861e9fe8a8d583cfe113)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS