도커 설치 시 기본적으로 생성되는 기본 브릿지인 docker0
이 docker0 인터페이스의 기본 network ip가 172.17.0.0/16이다
도커 서비스가 시작되는 순간 내부에서 사용하는 사설IP대역인 172.17.0.0 대역과의 통신이 끊어져 버린다... 콘솔로만 접속 가능 ㅠ
라우팅으로 처리할까 생각해보기도 했는데... 한두개 대역이 아니라 이건 노가다라 싶어
이 기본 ip를 바꾸어 보자 했다
이럴때는 구글검색 ㄱㄱ 이기 때문에 신나게 검색을 해보았고 역시나 많은 이들이 이것 때문에 고통받고 있었다...(선구자들이란 역시 힘들다 ㅋㅋ)
구글은 다음과 같이 이야기해준다
1. /etc/default/docker 에서 기본 설정을 수정하는 방법 (실패함...)
# Docker Upstart and SysVinit configuration file
#
# THIS FILE DOES NOT APPLY TO SYSTEMD
#
# Please see the documentation for "systemd drop-ins":
# https://docs.docker.com/engine/admin/systemd/
#
# Customize location of Docker binary (especially for development testing).
#DOCKERD="/usr/local/bin/dockerd"
# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
DOCKER_OPTS="--bip 10.10.10.0/24" // 이부분을 추가해주자
# If you need Docker to use an HTTP proxy, it can also be specified here.
#export http_proxy="http://127.0.0.1:3128/"
# This is also a handy place to tweak where Docker's temporary files go.
#export DOCKER_TMPDIR="/mnt/bigdrive/docker-tmp"
~
설정을 수정해주고
service docker start // 도커 서비스를 다시 시작!
했더니 이런... 또 ssh연결이 바로 끊어져 버렸고...
콘솔을 보니 다시 IP가 172.17.0.1로 돌아가 있다ㅋㅋㅋ 이런 #&($&!($(
2. 일단 급한데로 도커 인터페이스 IP를 변경하는 방법! (또 실패함...)
# service docker stop // 일단 도커 서비스 중지
# iptables -t nat -F POSTROUTING // 남아있는 라우팅을 지우고
# ip link set dev docker0 down // 문제의 도커 인터페이스를 중지시키고
# ip addr del 172.17.0.1/16 dev docker0 // 문제의 도커 인터페이스 IP를 삭제하고
# ip addr add 192.168.5.1/24 dev docker0 // 새로운 docker0 인터페이스의 IP를 넣고
# ip link set dev docker0 up // 도커 인터페이스 재시작!
# ip addr show docker0 // 도커 인터페이스의 IP확인! (새 아이피로 바껴있어야 정상)
# service docker start // 도커 서비스를 다시 시작!
했더니 이런... 또 ssh연결이 바로 끊어져 버렸고...
콘솔을 보니 다시 IP가 172.17.0.1로 돌아가 있다ㅋㅋㅋ 이런 #&($&!($(
3. /etc/docker/daemon.json 파일 생성 !
도커 문서에서 찾아보니
Use bridge networks
In terms of networking, a bridge network is a Link Layer device which forwards traffic between network segments. A bridge can be a hardware device or a software device running...
docs.docker.com
/etc/docker/daemon.json 파일을 만들어서 설정을 넣어주면 된다라고 친절하게 설명해주고 있었고
나는 친절한 설명에 따라서 예제를 따라 IP를 넣어보았으나...
{ "bip": "192.168.1.5/24", "fixed-cidr": "192.168.1.5/25", "fixed-cidr-v6": "2001:db8::/64", "mtu": 1500, "default-gateway": "10.20.1.1", "default-gateway-v6": "2001:db8:abcd::89", "dns": ["10.20.1.2","10.20.1.3"] } |
service docker restart 시 에러가 발생하며 도커 서비스가 안올라온다...이런 #&($&!($(
4. 해결!!
/etc/docker/daemon.json 파일 생성 시 예제와 같이 전체를 넣지 않고
vi /etc/docker/daemon.json
{
"bip": "10.10.10.1/16" // 본인이 설정하고 싶은 IP
}
이렇게 bip 옵션 하나만 넣어주니 정상적으로 동작!
1번과 3번의 뽕짝이라고나 할까...
하 시작부터 너무 어렵다 도커 ㅋㅋㅋ
'Networks' 카테고리의 다른 글
[AWS] 현재 AWS에서 VPN Connection을 지원하는 네트워크 장비 목록 (0) | 2018.07.11 |
---|---|
[Alteon] 알테온 L4 스위치에서 Websocket 설정하기 (0) | 2018.05.31 |
베어메탈 스위치란 무엇인가? (0) | 2015.03.24 |
Open vSwitch란 무엇인가? (0) | 2015.03.16 |
DSU/CSU란? - DCE/DTE CABLE란? + V.35 케이블종류? (0) | 2015.01.23 |