본문 바로가기
IT 제품 리뷰/시놀로지(Synology)

[시놀로지 도커] GitLab이 SMTP 서버와 통신을 못 할 때

by 연구자 공학코드 2023. 7. 21.

공지사항

  1. 제가 운영하는 네이버 카페 개발자 커뮤니티 코어큐브(https://cafe.naver.com/ewsncube)에 가입하시면 컴퓨터 관련 학습 자료와 질의응답을 제공받으실 수 있습니다.

728x90
반응형

아래의 사진처럼 시놀로지(Synology)의 도커(Docker) 환경에서 GitLab 컨테이너가 외부의 SMTP(Simple Mail Transfer Protocol) 서버와 통신을 못 하는 경우가 있다. 이 경우 원인이 2가지가 있으며 각 원인별 해결 방법은 아래와 같다.

/opt/gitlab/embedded/lib/ruby/3.0.0/socket.rb:227:in `getaddrinfo': getaddrinfo: Temporary failure in name resolution (SocketError)

문제가 발생한 화면

방화벽 설정

GitLab 컨테이너가 외부의 SMTP 서버와 통신하기 위해 인터넷을 경유하는데 이 컨테이너가 인터넷을 이용하기 위해서는 시놀로지 방화벽을 거쳐간다. 시놀로지 방화벽이 이 통신을 차단해서 인터넷을 이용하지 못하여 외부의 SMTP 서버와 통신이 되지 않는 경우가 있다. 아래의 사진처럼 컨테이너가 사용하는 네트워크 정보를 토대로 시놀로지의 방화벽을 허용하면 된다.

컨테이너 네트워크 정보가 나타난 화면
시놀로지 방화벽을 수정한 화면

DNS 설정

위의 방법으로도 해결이 되지 않는다면 DNS(Domain Name Service) 문제일 가능성이 높다. SMTP 서버를 찾기 위해 DNS를 이용하는데 DNS 정보가 없는 경우 문제가 발생한다. 아래처럼 컨테이너를 생성할 때 DNS 정보를 입력하면 해결된다.

DNS 정보를 입력한 화면

정상적으로 SMTP 서버와 통신이 되면 아래와 같이 동작 결과가 나타난다.

정상적으로 SMTP 서버와 통신된 화면

참고문서

  1. "Networking overview", Docker Docs. @원문보기
  2. "Synology NAS의 Docker 컨테이너에서 외부접속", 솔개, 2021년 3월 27일. @원문보기

 

728x90
반응형

댓글