#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)