DockerでPostgreSQLコンテナを立ててUnixドメインソケット通信するなど
Dockerを使ってPostgreSQLコンテナをたてたときに、ホストからUnixドメインソケット経由で接続できるの?と思ったので試したメモ。
環境
# cat /etc/centos-release CentOS Linux release 7.3.1611 (Core) # docker version Client: Version: 1.13.0 API version: 1.25 Go version: go1.7.3 Git commit: 49bf474 Built: Tue Jan 17 09:55:28 2017 OS/Arch: linux/amd64 Server: Version: 1.13.0 API version: 1.25 (minimum version 1.12) Go version: go1.7.3 Git commit: 49bf474 Built: Tue Jan 17 09:55:28 2017 OS/Arch: linux/amd64 Experimental: false
ざっとコマンドを打ち込む
$ sudo docker pull kiasaki/alpine-postgres $ sudo docker volume create --name db_vol $ sudo docker volume create --name socket_vol $ sudo docker run \ -e POSTGRES_PASSWORD=mypostgrespassword \ -v db_vol:/var/lib/postgresql/data \ -v socket_vol:/tmp \ -d kiasaki/alpine-postgres # try to connect $ psql -U postgres -h /var/lib/docker/volumes/socket_vol/_data
Q&A
接続はできるの?
できるよ
/tmp
にデータボリュームマウントしてるけど、セキュリティ大丈夫??
大丈夫じゃない気がするけど、どうなんだろう…
お詳しい方ぜひ教えてください!
わからないならせめてunix_domain_directory
の値を変えたりとかは?
Dockerfileとかいじってみたんだけど、コンテナが動かなくなって…
docker build
辛くなっちゃった。
hba.confはいじれなかったの?
Dockerfileとかいじって略
シェルスクリプトがあるのでちゃんと読んでみる。