3월, 2016의 게시물 표시

Docker 컨테이너 네트워크 설정시 ifconfig로 docker0를 찾을 수 없는 문제에 대해

이미지
Docker container networking  문서를 읽던 도중 "docker network ls에서 확인 가능한 bridge 네트워크는 docker0 네트워크를 나타내며 ifconfig로 확인 가능하다"는 글을 읽고 확인한 결과 어째선지 docker0 네트워크가 출력되지 않았다.(필자의 환경: OS X El Capitan 10.11.1(15B42)) 의문스러운 점은 --net옵션을 사용하지 않고(default 네트워크를 사용) 실행한 아래의 시나리오는 문제 없이 수행 된다는 점이다. 1. docker run --name mongotest -d mongo (Docker Hub 공식 mongo이미지를 사용해 mongodb를 데몬으로 실행) 2. docker run -ti --name test_ubuntu test_ubuntu (미리 만들어 둔 test_ubuntu이미지를 사용해 셸에 접속) 3. 위 2의 ubuntu 셸에서 mongo 컨테이너의 데이터베이스에 접속(물론 ping도 성공한다) 더욱 의문스러운 점은 위 두 컨테이너가 bridge 네트워크에 연결돼 있으며 'docker0'이라는 이름이 할당돼 있다는 점이다. 구글링한 결과 아래와 같은 의견을 찾았다.(출처: https://github.com/docker/docker/issues/17826) 공식 문서에는 docker0 네트워크가 legacy라던가 deprecated됐다는 글은 없지만 user-created network의 사용을 권장하고 있다. User-defined network를 만드는 방법은 공식 문서 를 참고하자.