Postgres 컨테이너 추가
postgres_custom
이라는 컨테이너 서비스 추가services:
하위 항목에 작성volumes
에 항목 미리 추가
컨테이너 고정 IP 할당
고정IP 설정 이유?
- 기본적으로 컨테이너들은 유동 IP 지님
- 재기동시 IP 변동 가능
- 고정 IP 미지정시, 컨테이너들은 default network에 묶임
- 즉, network가 다른 컨테이너들끼리 서로 통신하지 못함
- 따라서,
networks
를 통해 고정 IP를 할당하여 동일 네트워크에 두고 싶은 컨테이너들끼리 동일networks
할당 필요
- 새롭게 생성한
postgres_custom
서비스에networks
항목 추가- 상위
networks
항목에서 작성된network_custom
을 사용하겠다고 선언 ipv4_address
: 고정 IP
- 상위
services
와 동일한 계층의networks
항목 생성network_custom
이라는 네트워크 항목 생성
- 이때, 하나의 컨테이너에만 고정 IP를 부여하는게 아닌 다른 컨테이너에도
network_custom
을 할당하고, IP를 부여해야함!!- 기본 메타 DB 인
postgres
에 5431을 사용하여 접속할 수 있게 포트 노출
- 기본 메타 DB 인
대역폭 설정
172.28.0.0 에서 대역폭 28 사용 이유?
- defalut network에서 25.0 대역폭을 사용
- 따라서, 해당 대역폭을 사용하면 안됨!!
대역폭 확인 방법
- docker 내 컨테이너 상세 목록 확인
sudo docker inspect {CONTAINER ID}
- 현재 네트워크 목록 확인
sudo docker network ls
NETWORK ID
확인™
DB 접속
port 설정
docker-compose.yaml
에 커스텀 db의 Port를 9999로 설정하여도 airflow 내에서는 5432로 지정해야함!!! 이는 로컬에서는 9999 포트로 연결하지만, 컨테이너 간 연결은 5432 포트로 연결되기 때문임