개발
oauth2.googleapis.com을 IP 주소로 변환하지 못해 발생하는 DNS 관련 문제
murbachovski
2024. 8. 23. 10:23
오류 메시지: google.auth.exceptions.TransportError: HTTPSConnectionPool(host='oauth2.googleapis.com', port=443): Max retries exceeded... (Caused by NameResolutionError...)
위 오류로 얼마나 고생을 했는가...
8시간 이후로 데이터 수집이 멈추는 이슈가 발생했다.
우선 첫번째로
docker-compose.yml
version: '2'
services:
sook-it-trap:
build: ./sook-it-trap
privileged: true
restart: unless-stopped
ports:
- "80:8080"
restart: always => unless-stopped로 변경해줬다.
하지만 네트워크 오류가 발생하면서 시스템이 죽는거지 컨테이너가 죽는게 아니라서 효과가 없었다.
그리하여 우선적으로 시스템상에서 DNS 설정을 변경해주었다.
DNS 설정 변경을 통한 문제 해결
- DNS 설정 변경:
- /etc/resolv.conf 파일을 편집하여 Google DNS 서버를 추가합니다.
sudo nano /etc/resolv.conf
- 파일에 다음과 같이 입력합니다:
nameserver 8.8.8.8 nameserver 8.8.4.4
- /etc/resolv.conf 파일을 편집하여 Google DNS 서버를 추가합니다.
- DNS 캐시 플러시:
- DNS 캐시를 플러시하여 이전 설정을 지웁니다.
sudo systemd-resolve --flush-caches
- DNS 캐시를 플러시하여 이전 설정을 지웁니다.
- 네트워크 연결 재확인:
- 네트워크 연결을 재확인하여 문제가 해결되었는지 확인합니다.
요약
- DNS 문제로 발생한 오류를 해결하기 위해 /etc/resolv.conf 파일에서 DNS 서버를 Google DNS로 설정하고, DNS 캐시를 플러시하여 문제를 해결합니다.
아직까지 네트워크 끊기는 현상 없으며 좀 더 모니터링 후 도커에 DNS 서버 적용해주면 됩니다.
docker-compose.yml
version: '2'
services:
sook-it-trap:
build: ./sook-it-trap
privileged: true
restart: unless-stopped
ports:
- "80:8080"
dns:
- 8.8.8.8
- 8.8.4.4