LoginSignup
30
30

More than 5 years have passed since last update.

DockerでPostgreSQLを構築しホストから接続する

Last updated at Posted at 2018-11-04

今回は使い捨てるため、--rm をつけて、container が停止したら削除するようにする

環境

  • macOS: v10.13.6
  • Docker: 18.06.1-ce-mac73(26764)

コンテナ作成・起動

docker container run -d --rm --name some-postgres -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 postgres
使用しているオプション 説明
--name some-postgres コンテナ名
-d バックグラウンド実行
--rm 停止したらコンテナ削除する
-p 5432:5432 ホストのポート:コンテナのポート
-e POSTGRES_USER スーパユーザー名/DBメイン(デフォルトは postgres )
-e POSTGRES_PASSWORD スーパユーザーのパスワード
postgres 使用するイメージ
  • 今回は使わない
    • PGDATA :PostgreSQLのデータの格納先ディレクトリ(デフォルトは/var/lib/postgresql/data)
    • POSTGRES_DB :初回起動時に作成するデータベース名を設定できるが省略するとPOSTGRES_USERと同じになるのでたいてい省略する

ログイン

docker container exec -it some-postgres bash

# コンテナ動作確認
root@0d4e110375f0:/# psql --version
psql (PostgreSQL) 11.0 (Debian 11.0-1.pgdg90+2)

root@0d4e110375f0:/# psql -U postgres
psql (11.0 (Debian 11.0-1.pgdg90+2))
Type "help" for help.

postgres=#

停止 (--rm で作成したのでコンテナ削除も兼)

docker container stop some-postgres

ホストからの接続確認

  • ホストOSがMacで Homebrew インストール済みの場合
# psqlのためpostgresqlをインストール
brew install postgresql

# psql が必要なだけなので(自動起動も)停止
brew services stop postgresql

 # 停止したことを確認
brew services list

# 接続できることを確認する
psql -h localhost -U postgres

参考

30
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
30