DockerでPostgreSQLの環境を構築してみる

好き放題いじってOKなPostgreSQLが欲しかったので、Dockerを使って環境を構築してみました。
当記事は下記Qiitaの記事をアレンジ(ほぼ丸コピ)して、少し調整した形になります。
Windows10のDocker上にSQLServer2022を構築する #Docker – Qiita
当記事はPostgreSQLが動く環境を作ることが目的の記事になります。
そのため、DockerファイルやYAMLファイルなどの設定値の解説は省略し、手順の一部簡略化を行っています。
目次
開発環境
- OS:Windows11
- Docker Desktopインストール済み
- VSCodeインストール済み
アプリケーションの定義ファイル(YAML)を作成する
下記のコマンドを実行し、YAMLファイルを作成します。
type nul > docker-compose.yml
エラーメッセージが表示されますが、YAMLファイルが作成されていれば問題ありません。
下記の内容でYAMLファイルを編集します。
version: '3'
services:
db:
image: postgres:14
container_name: postgres_pta
ports:
- 5432:5432
volumes:
- db-store:/var/lib/postgresql/data
environment:
POSTGRES_USER: 'odaneko'
POSTGRES_PASSWORD: 'odaneko'
volumes:
db-store:

Dockerファイルを作成する
下記のコマンドを実行して、Dockerファイルを作成します。
type nul > Dockerfile
エラーメッセージが表示されますが、Dockerファイルが作成されていれば問題ありません。
下記の内容でDockerファイルを編集します。
FROM postgres:14
# Time ZoneAc
ENV TZ Asia/Tokyo
# Language
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8

コンテナをビルド・立ち上げ
下記のコマンドを実行して、コンテナをビルド・立ち上げます。
docker compose up -d --build
コンテナがStartedになっていればOKです。

Dockerデスクトップの画面でも起動を確認します。

クライアントで接続する
コンテナに入る
下記のコマンドを実行し、コンテナに入ります。
docker compose exec db bash

PostgreSQLに接続する
下記のコマンドを実行し、PostgreSQLに接続します。
psql -U odaneko -h localhost
接続に成功すると、コンソールの左側の部分が「odaneko=#」になっています。

以上になります。
お読み頂き、ありがとうございました。