Docker Network

less than 1 minute read

No network connectivity to/from Docker CE container on CentOS 8

문제

  • 도커에서 외부 허브에서 이미지를 가져오지 못함
go: github.com/stretchr/testify@v1.6.1: Get "https://proxy.golang.org/github.com/stretchr/testify/@v/v1.6.1.mod": dial tcp: lookup proxy.golang.org on 8.8.4.4:53: read udp 172.17.0.2:35077->8.8.4.4:53: read: no route to host

원인

  • 도커 내의 go 코드에서 dial로 패키지를 가져오려고 함
  • ‘proxy.golang.org on 8.8.4.4:53’를 조회
  • 하지만 돌아올 172.17.0.2는 외부에 노출된 호스트가 아님
  • no route to host 에러 발생

해결

docker의 출처 주소 확인

sudo iptables -t nat -nvL POSTROUTING

Chain POSTROUTING (policy ACCEPT 85 packets, 5196 bytes)
pkts bytes target     prot opt in     out     source               destination
3   184 MASQUERADE  all  --  *      !docker0  172.17.0.0/16        0.0.0.0/0

docker 허용 규칙 추가 및 masquerade

firewall-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 source address=172.17.0.0/16 accept'
firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --reload

참조 링크

Updated: