WSL2로 Docker 첫 도전 【PostgreSQL12 + pgAdmin4 환경 구축】

소개



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

확인



대시보드에서 확인할 수 있습니다.


pgAdmin에 연결



pgAdmin의 포트가 8000으로 설정되었으므로,
http://localhost:8000/
에 액세스합니다.

PGADMIN_DEFAULT_EMAIL: admin
PGADMIN_DEFAULT_PASSWORD: password

에서 설정한 ID, 비밀번호로 로그인하십시오.

일본어를 선택할 수도 있습니다.

pgAdmin에서 PostgesSQL로 연결



이번 샘플에서는 호스트명/주소에 「pgsql12_db_1」이라고 하면 접속할 수 있습니다.


연결 완료입니다.


요약



도커 첫 도전이었다. 우선, 「Dockerfile」 「docker-compose.yml」을 어디에 쓰면 좋을지, 거기에서 몰랐습니다.
구글 선생님에게 물으면, 어디서나 좋다고 써 있어, 어디에서나 좋다고 해도・・・.
라는 느낌이었습니다.

volumes의 저장처 지정도 고전했습니다.
결국 임의의 폴더에 지정하는 방법은 모르겠습니다.

일단 이것으로 내가 하고 싶었던 일은 할 수 있었다.

첫 Docker를 Windows에서, 게다가 릴리스 된지 얼마 안된 WSL2에서의 도전은 장애물이 높았을까.

참고/출전



"Windows10 2004에서 WSL2를 설정하여 VSCode에서 Docker에 연결"

docker-compose로 일본어 모드의 PostgreSQL과 pgAdmin4를 기동하려면

좋은 웹페이지 즐겨찾기