inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Airflow 마스터 클래스

db container connection 에러

99

rosy

작성한 질문수 21

0

안녕하세요! 강사님

몇달 전에 듣고 복습중인데요

몇달 전에 들었을때,

image.png

 

이렇게 잘 db를 생성했었습니다.

그리고 vi docker-compose.yaml 아래와 같이 수정하였지만

image.png

 

image.png

 

적용이 안되네요...ㅠㅠ

그리고 이전에 생성했던 게 그대로 실행되고 있습니다...!

당연히 dags_python_with_postgres.py 실행하면 아래와 같이 connection 오류가 발생하구요...

image

 

혹시 해당 문제 어떻게 해결해야할 지 알 수 있을까요?!

 

python 데이터-엔지니어링 airflow

답변 2

0

김현진

안녕하세요 rosy 님!
일단 sudo docker ps 명령을 했을 때 postgres_custom 컨테이너가 정상 상태인지 확인해보시구요.

음 아마도 srkim 이라고 이전에 만들었던 DB의 내용이 그대로 인식된게 아닌가 합니다.

컨테이너 DB에 연결되는 볼륨은 로컬 디렉토리와 연결되는데, 기존에 만들었던 DB볼륨의 내용이 새로 만드신 custom_srkim 과 연결되면서 문제가 될 수도 있어요.

우선 volume을 새로 하나 지정하고 만들어 보시겠어요?

docker-compose.yaml 파일 하단에 보시면 volume 항목이 정의되어 있습니다.

volumes:
  postgres-db-volume:
  postgres-custom-db-volume:

저기에 새로운 볼륨을 하나 추가하신 다음에 custom_srkim 의 volume 항목 지정시 새로 만든 volume을 연결해보세요.

volumes:
  postgres-db-volume:
  postgres-custom-db-volume:
  postgres-custom-srkim-volume:

그리고 postgres_custom 컨테이너 서비스 항목에는 아래처럼 지정하시면 됩니다.

services:
  postgres_custom:
    image: postgres:13
    environment:
      ...
    volumes:
      - postgres-custom-srkim-volume:/var/lib/postgresql/data
    ports:
      - 5431:5432
    networks:
      network_custom:
        ipv4_address: 172.28.0.3

 

이렇게 만든 후 docker compose up 해보시고 접속해보시겠어요?

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. rosy님

db container connection 문제로 인해 어려움을 겪고 계신 점 안타깝네요. PostgreSQL 컨테이너 구성과 관련된 연결 오류의 경우, 다음 몇 가지를 점검해보는 것이 좋습니다:

  1. docker-compose.yaml 설정 확인:

    • postgres_custom 서비스의 포트가 5431:5432로 올바르게 매핑되어 있는지 확인하세요.
    • 네트워크 설정에서 network_custom이 올바르게 정의되고, 모든 서비스에 연결되어 있는지 확인해보세요.
  2. 현재 실행 중인 컨테이너 상태 확인하기:

    • docker ps 명령어를 사용하여 실행 중인 컨테이너의 상태를 확인하세요. PostgreSQL 컨테이너가 정상적으로 실행되고 있지 않다면, 로그를 확인하여 에러 메시지를 파악하는 것이 중요합니다.
  3. Postgres 컨테이너의 로그 확인:

    • docker logs [컨테이너_ID] 명령어로 PostgreSQL 컨테이너에 대한 로그를 확인하여, 오류가 발생하는 원인을 파악할 수 있습니다.
  4. PostgreSQL 설정 확인:

    • postgresql.conf 파일에서 listen_addresses와 포트가 올바르게 설정되어 있는지 확인하십시오. 기본값으로 *로 설정되어 있는지 확인하세요.
  5. task 실행 시 Python 스크립트 파라미터 확인:

    • dags_python_with_postgres.py에서 사용하는 IP와 포트 번호가 docker-compose.yaml 파일과 일치하는지 확인하십시오.

다음 질문에서 유사한 문제에 대한 답변이 논의되었으니, 참고하시면 도움이 될 수 있습니다: section 8 postgres 연결 안됨

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

pykrx 회원제 전환으로 인한 실습 불가

0

114

2

수료증 발급

0

84

3

에러 발생 관련 질문드립니다.

0

83

2

vscode 작업화면에 오류가 발생하지 않습니다.

0

69

2

plugins 폴더 생성

0

76

2

WSL에서 git push 가 안되요 ㅠ

0

115

2

chatGPT&Airflow로 블로그 자동 포스팅하기 는 Deprecated 가 필요합니다.

0

67

2

github에 회원가입이 안되는데 원인이 뭔지 모르겠어요 ㅠ

0

738

2

설치중인데 venv를 꼭 써야할까요?

0

126

2

설치 버전 관련 질문입니다.

0

68

1

우분투 버전 다운받아야하는데 어떤걸로 설치해야할까요?

0

62

1

DAG 만들기 중 airflow 패키지 로드 에러

0

106

2

3.0에서도 수업노트가 성립하는지 확인 부탁드립니다!

0

95

3

task_id 사용법이 뭔가 바뀐 것 같습니다.

0

76

3

email operator 오류 관련

0

66

2

plugins 폴더 관련

0

100

2

bash operator 관련 문의입니다

0

78

3

스케쥴러 - DAG 파싱 부하 줄이는 과정 질문

0

79

2

Dags refresh 주기 관련 질문

0

125

2

wsl 관련 질문입니다.!

0

75

2

macOS에서 docker 설치

0

94

2

템플릿 변수에 대한 오류

0

61

2

custom_image 디렉토리 문의드립니다.

0

54

2

ETL 인터뷰 관련 문의

0

103

2