LoginSignup
2
3

More than 3 years have passed since last update.

WSL2でDocker初挑戦【PostgreSQL12 + pgAdmin4環境構築】

Last updated at Posted at 2020-06-06

はじめに

Windows 10 May 2020 Updateが正式にリリースされましたので、WSL2でDockerに初挑戦してみました。

環境構築

「Windows10 2004でWSL2を設定してVSCodeからDockerに接続する」で詳しい記事がありましたので、参考にさせていただきました。

ファイル作成

D:\docker\pgsql12に「Dockerfile」「docker-compose.yml」を作成します。

Dockerfile
FROM postgres:12
RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8
ENV LANG ja_JP.utf8
docker-compose.yml
version: '3'
services:
    db:
      build: .
      volumes:
        - postgresql:/var/lib/postgresql/data
      ports:
        - "5432:5432"
      environment:
        POSTGRES_USER: admin
        POSTGRES_PASSWORD: password
        POSTGRES_DB: postgres
        LANG: ja_JP.UTF-8
    adm:
      image: dpage/pgadmin4:latest
      volumes:
        - pgadmin:/var/lib/pgadmin:z 
      ports:
        - "8000:80"
      environment:
         PGADMIN_DEFAULT_EMAIL: admin
         PGADMIN_DEFAULT_PASSWORD: password
volumes:
  postgresql:
    driver: local
  pgadmin:
    driver: local

イメージをビルド

「/mnt/d/docker/pgsql12」にパスを移動して、以下のコマンドを実行します。

docker-compose build

起動

docker-compose up -d

確認

dashboardで確認することができます。
docker1.jpg

pgAdminへの接続

pgAdminのポートは8000に設定しましたので、
http://localhost:8000/
にアクセスします。

PGADMIN_DEFAULT_EMAIL: admin
PGADMIN_DEFAULT_PASSWORD: password

で設定したID、パスワードでログインしてください。

日本語を選択することもできます。

pgAdminからPostgesSQLへの接続

今回のサンプルではホスト名/アドレスに「pgsql12_db_1」としますと接続できます。
docker2.jpg

接続完了です。
docker3.jpg

まとめ

Docker初挑戦でした。まず、「Dockerfile」「docker-compose.yml」をどこに書けばよいのか、そこから分かりませんでした。
グーグル先生に聞きますと、どこでも良いと書いてあり、どこでも良いと言われても・・・。
という感じでした。

volumesの保存先指定も苦戦しました。
結局任意のフォルダに指定する方法は分からずじまいです。

とりあえずこれで私がやりたかったことはできました。

初DockerをWindowsで、しかもリリースされたばかりのWSL2での挑戦はハードルが高かったかな。

参考/出展

「Windows10 2004でWSL2を設定してVSCodeからDockerに接続する」

docker-composeで日本語モードのPostgreSQLとpgAdmin4を起動するには

2
3
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
2
3