작성
·
725
·
수정됨
답변 2
0
0
안녕하세요 gogo91rla님,
좋은 질문입니다!
https://github.com/dimz119/learn-apache-airflow/blob/main/docker-compose.yaml#L60
요기 코드를 보시면 아시겠지만, airflow 안에서는 postgres
로 접근 가능합니다.
https://github.com/dimz119/learn-apache-airflow/blob/main/docker-compose.yaml#L89
username과 password도 위에 있습니다.
~/ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5ccbd0b29de7 apache/airflow:2.6.2 "/usr/bin/dumb-init …" 13 minutes ago Up 17 seconds (health: starting) 8080/tcp learn-apache-airflow-airflow-scheduler-1
45dbfab1cc67 apache/airflow:2.6.2 "/usr/bin/dumb-init …" 13 minutes ago Up 17 seconds (health: starting) 8080/tcp learn-apache-airflow-airflow-worker-1
398a35c71e53 apache/airflow:2.6.2 "/usr/bin/dumb-init …" 13 minutes ago Up 17 seconds (health: starting) 8080/tcp learn-apache-airflow-airflow-triggerer-1
7d04c2991435 apache/airflow:2.6.2 "/usr/bin/dumb-init …" 13 minutes ago Up 17 seconds (health: starting) 0.0.0.0:8080->8080/tcp learn-apache-airflow-airflow-webserver-1
2bef277a9d27 postgres:13 "docker-entrypoint.s…" 13 minutes ago Up 33 seconds (healthy) 0.0.0.0:5432->5432/tcp learn-apache-airflow-postgres-1
79610a762a93 redis:latest "docker-entrypoint.s…" 13 minutes ago Up 33 seconds (healthy) 6379/tcp learn-apache-airflow-redis-1
~/ docker exec -it 7d04c2991435 /bin/bash
airflow@7d04c2991435:/opt/airflow$ nc -vz postgres 5432
Connection to postgres (172.31.0.3) 5432 port [tcp/postgresql] succeeded!
airflow@7d04c2991435:/opt/airflow$
조만간 한번 만들어 보겠습니다 ㅎㅎ
참고로 여기에 sample_table 만드시고 하셔야 합니다
네 db 생성 위치가 다릅니다. 그리고 다커 내부에서 밖에 있는 db에 접근하시려면 접근 가능한 도메인이어야 합니다. 랩탑에서 따로 돌린 티비에는 접근 불가능할 겁니다.
답변 감사합니다.
혹시 여기에 sample_table을 만든다는 말은 Docker Airflow에 이미 설치된 Postgres DB에 샘플테이플을 생성해야한다는 말씀이실까요? 강의에서는 Local 에서 Postgres DB를 설치해서 만드는 것 같은데 이경우 DB생성 위치가 다르다고 생각해야될까요?
그리고 Docker 이미지 위에 Airflow를 만든다고 하더라도 외부(여기서는 사용자 Local PC)에 생성된 DB에도 연결이 가능할 거 같은데, 이번 강의에서 의도하신 환경내에서 실습할 수 있으면 좋을 것 같습니다.
감사합니다 ㅎㅎ