[Airflow/Docker] Postgres 컨테이너 추가해 DB 접속하기

2024. 7. 26. 17:13·Minding's Programming/Airflow
728x90
반응형

docker-compose.yaml 파일 수정해 Postgres 컨테이너 추가하기

 

먼저 docker-compose.yaml 파일을 열어 services 항목에 아래 내용을 추가한다.

services
  postgres_custom:
    image: postgres:13
    environment:
      POSTGRES_USER: minding
      POSTGRES_PASSWORD: minding
      POSTGRES_DB: minding
      TZ: Asia/Seoul
    volumes:
      - postgres-custom-db-volume:/var/lib/postgresql/data
    ports:
      - 5432:5432 # 외부에서 접속할 수 있도록 포트 노출

 

또한 postgres DB를 사용하기 위해서는 고정 IP를 할당해주어야 하는데, 컨테이너는 기본적으로 유동IP를 사용하기 때문에 networks 항목을 docker-compose.yaml 파일에 추가해 할당해줘야 한다.

 

networks를 따로 지정해주지 않은 컨테이너는 default network에 묶이게 된다. 따라서 동일 네트워크에 두고 싶은 컨테이너들은 동일한 networks 할당해주는 것이 필요하다.

 

그리고 volume에도 아래 내용을 추가해준다.

volumes:
  postgres-db-volume:
  postgres-custom-db-volume: # 추가한 내용

 

dafault network를 확인하는 방법

 

우선 아래 명령어를 통해 현재 실행 중인 아무 컨테이너의 ID를 알아낸다.

sudo docker ps

 

 

그리고 난 뒤 아래 명령어를 통해 해당 컨테이너의 상세정보를 출력한다.

sudo docker inspect 9fbbb4260ecb

>>>
...
                    "NetworkID": "c9a09a9ceaa375f69f42ac50279d9a596fbcf6b862b684deed1c86971697b2dd",
                    "EndpointID": "8f238071a3b857e286e2ac9431d5757929a351a4aa25bc79904721426a981300",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.4",
                    ...

그러면 하단에 NetworkID와 더불어 Gateway가 출력되는데, '172.18'까지가 현재 사용하고 있는 default network이다.

 

sudo docker network ls

>>>
NETWORK ID     NAME              DRIVER    SCOPE
1586c3177de2   bridge            bridge    local
4abc0b9b758d   host              host      local
c9a09a9ceaa3   minding_default   bridge    local
211b81f03766   none              null      local

위의 NetworkID와 default Network ID를 비교해보면 더 명확히 알 수 있다.

 

DBeaver 설치 및 접속 확인

https://dbeaver.io/download/

 

Download | DBeaver Community

Download DBeaver Community 24.1.3 Released on July 21th 2024 (Milestones). It is free and open source (license). Also you can get it from the GitHub mirror. System requirements. DBeaver PRO 24.1 Released on June 12th, 2024 PRO version website: dbeaver.com

dbeaver.io

DB에 접속하기 위한 툴로 DBeaver를 먼저 설치해준 뒤 실행한다.

 

PostgreSQL을 선택한다.

 

이후 위에서 수정한 docker-compose.yaml 파일 내용을 토대로 위 내용을 작성해준다.

 

Host는 기본적으로 WSL과 연동되어 있는 localhost를, 포트 번호는 위에서 설정한 5432 포트를 사용한다.

 

그리고 Database 이름과 Username, Password는 위에서 설정해준 대로 입력하면된다.

 

이후 왼쪽의 DB를 눌러 드라이버를 다운로드 받아준다.(최초 접속시에만)

 

이후 위 이미지처럼 하단 메뉴들이 잘 노출된다면 정상적으로 연결된 것이다.

728x90

'Minding's Programming > Airflow' 카테고리의 다른 글

[Airflow] Postgres Hook bulk_load 문제점, Custom Hook으로 bulk_load() 해보기  (0) 2024.07.29
[Airflow] Connection과 Hook  (0) 2024.07.27
[Airflow/Docker] Docker-compose.yaml 파일 해석  (0) 2024.07.26
[Airflow] Custom Operator 개발해보기 (BaseOperator)  (0) 2024.07.26
[Airflow] SimpleHttpOperator로 서울시 공공데이터 API 이용해보기  (0) 2024.07.25
'Minding's Programming/Airflow' 카테고리의 다른 글
  • [Airflow] Postgres Hook bulk_load 문제점, Custom Hook으로 bulk_load() 해보기
  • [Airflow] Connection과 Hook
  • [Airflow/Docker] Docker-compose.yaml 파일 해석
  • [Airflow] Custom Operator 개발해보기 (BaseOperator)
Minding
Minding
  • Minding
    Today's Minding
    Minding
  • 전체
    오늘
    어제
    • 울고넘는 딥러닝 (278)
      • Minding's Baseball (57)
        • MLB Statcast (29)
        • 머신러닝으로 홈런왕 예측하기 (3)
        • 야구칼럼 (12)
        • 야구 규칙, 용어 (1)
        • 2022-23 질롱 코리아 (8)
        • 류현진 등판경기 (4)
      • Minding's Programming (185)
        • 프로그래머스 코딩테스트 (21)
        • Knowledge (44)
        • Numpy & Pandas (6)
        • Excel (3)
        • Git (1)
        • Pygame (11)
        • CV (3)
        • Tensorflow tutorial (4)
        • Kaggle and Dacon (4)
        • 에러 코드 (8)
        • FastAPI (8)
        • Airflow (29)
        • Crawling (6)
        • Django (14)
        • AWS (18)
        • Spark (5)
      • Minding's Reading (30)
        • 머신러닝 딥러닝에 필요한 기초 수학 with 파이.. (2)
        • 칼만필터는 어렵지 않아 (11)
        • 밑바닥부터 시작하는 딥러닝 (6)
        • 메이저리그 야구 통계학 2e (8)
        • 논문읽기 (2)
        • 빅데이터를 지탱하는 기술 (1)
      • Minding's Life (5)
        • 주식 (4)
        • 각종 소식 (1)
  • 블로그 메뉴

    • 홈
    • Baseball
    • Programming
    • Reading
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    메이저리그
    야구
    KalmanFilter
    칼만필터는어렵지않아파이썬
    pygame
    프로그래머스
    FastAPI
    데이터분석
    넘파이
    Python
    칼만필터는어렵지않아
    코딩테스트
    django python
    게임개발
    MLB
    에어플로우
    머신러닝
    파이썬게임개발
    django
    AWS
    질롱코리아
    Airflow
    mlb stats api
    칼만필터는어렵지않아python
    딥러닝
    칼만필터
    KBO
    데이터 엔지니어
    파이게임
    파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Minding
[Airflow/Docker] Postgres 컨테이너 추가해 DB 접속하기

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.