ちょっとDBを使いたいというときに、一時的なPostgreSQLのDBをDockerで作る方法です。
検証環境
# 実行環境 PS C:\Users\hoge> docker --version Docker version 20.10.8, build 3967b7d
一時的なDBを作成
PS C:\Users\hoge> docker run --rm -it -e POSTGRES_PASSWORD=password -p 35432:5432 postgres:12 データベースシステム内のファイルの所有者はユーザ"postgres"となります。 このユーザをサーバプロセスの所有者とする必要があります。 ...
この場合、接続情報は以下となります。
ホスト:localhost(DBコンテナを稼働させている機器のIPアドレス) ポート:35432 ユーザ名:postgres パスワード:password
Ctrl-Cを押下したり、ウィンドウを閉じたりするとコンテナが破棄されるので、データは残りません。DB利用中はウィンドウを上げたままにする必要があります。
一時的なDBに接続
psqlもコンテナを利用します。
# psqlで接続 # コンテナ版のpsqlを利用する場合、localhostはpsqlコンテナ自身を指すことになるため、 # ホストはDBコンテナを稼働させている機器のIPアドレスとする PS C:\Users\hoge> docker run --rm -it postgres:12 psql -h 192.168.0.XXX -p 35432 -U postgres ユーザ root のパスワード: ←「password」 psql (12.8 (Debian 12.8-1.pgdg110+1)) "help"でヘルプを表示します。