DevOps-Life

Docker network IP 변경 (기존 네트워크 변경) 본문

IT/System

Docker network IP 변경 (기존 네트워크 변경)

인풀 2018. 11. 19. 15:48
반응형
SMALL

docker network ip change 도커에서 디폴트 네트워크 환경 변경.



docker network 가 172.17.0.0/16 으로 되어있을때, 다른 내부 아이피 172.17.0.0/16 으로 통신이 안되는 라우팅 문제에 봉착을 해버렸다



그럴 경우 구글에 돌아다니는 방법을 몇가지를 시도해 보았지만



service docker start 를 하는순간 설정 값이 날라가 버리는 문제점을 발견했고 또 다시 폭풍 구글링이 시작되어 블로그에 글을 남긴다.



구글링에 기초로 되어있는 방식.




# (루트 권한으로 가정한다.)

# service docker stop                            //우선적으로 도커를 종료 시킨다.

# iptables -t nat -F POSTROUTING            // iptables에 있는 라우팅을 지워주고

# ip link set dev docker0 down                // 네트워크 인터페이스를 내려주고

# ip addr del 172.17.0.1/16 dev docker0    // 172.17.0.1/16 docker0 주소를 지워준다(저부분에는 독자의 docker ip address를 넣어주면 된다.)

# ip addr add 192.168.5.1/24 dev docker0    //새로 넣어줄 docker0 인터페이스의 네트워크 주소를 넣어준다 (필자는 192.168.5.1/24)

# ip link set dev docker0 up                      //다시 docker0 인터페이스를 올려주고

# ip addr show docker0                            //여기까지 설정값을 확인한다 .. 여기서 봤을 때 필자는 정상

# service docker start                                //도커를 실행 시킨 후 부터 다시 디폴트 값으로 돌아가버렸다.



이런 상황에서 찾은게  /etc/docker/daemon.json 이다




/etc/docker/daemon.json 파일은 존재하지 않았지만 생성해 주었고,


/etc/docker/daemon.json

{

"bip": "192.168.5.1/16"

}




을 넣어준 것만으로도 service docker restart 시 정상적으로 docker network interface가 192.168.5.1 로 바뀐 것이다.




이걸로 로컬 라우팅 문제도 해결되었고, 우리 회사에는 평화를 찾았다.


## 꿀 TIP!! ## 

만약 aws ecs를 사용중이라면 start ecs 는 필수입니다 :) 

반응형
LIST
Comments