Docker IP 대역 변경

class1119·2022년 11월 18일
0
post-thumbnail

개발을 하다보니 Docker가 설치된 기기에서 갑자기 네트웍이 안되는 현상이 생겼다.

확인해보니 개발서버 IP대역과 설치된 도커의 IP대역이 B Class까지 같아서 일어난 현상.

Docker는 거의 초보다 보니 여기저기 찾아보기 시작했다.

결국 몇 번을 시도해보다가 찾은 방법이 아래와 같다.

ifconfig -a 로 문제있는 docker ip 확인

root 계정으로 아래 명령어들을 실행한다.

$ ifconfig -a
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.255.0  broadcast 172.17.0.255
        ether 02:42:8f:5e:66:66  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


$ systemctl stop docker					// 도커 서비스 중지
$ iptables -t nat -F POSTROUTING		// 라우팅 정보 삭제
$ ip link set dev docker0 down 			// 도커 인터페이스 중지, [docker0] 이 맞는지 위에서 확인
$ ip addr del 172.18.0.1/16 dev docker0	// 도커 인터페이스 IP를 삭제

/etc/docker/daemon.json 파일 생성

아래 내용 입력

{ 
	"bip": "172.18.0.1/24", 		// docker ip 대역 변경, 변경 ip는 각자 상황에 맞게 변경
	"fixed-cidr": "172.18.0.1/25", 	// docker ip 대역 변경
	"mtu": 1500
}

$ systemctl start docker				// 도커 서비스 시작

ifconfig -a 로 docker ip 확인

$ ifconfig -a
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.18.0.1  netmask 255.255.255.0  broadcast 172.18.0.255
        ether 02:42:8f:5e:66:66  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

여기저기 찾아서 해결한 방법이라 상황에 따라 다를 수도 있음.

profile
GIS, OpenLayers, OpenSource, Web, Server 관련 개발

0개의 댓글