• Docker - Docker0 의 정체, Docker localhost 에러

    2023. 2. 27.

    by. Daramu

     

    도커를 모두 설치하였다면, ifconfig 시에 docker0 라는 것이 생긴것을 알 수 있다. 해당 inet은 127.17.0.1 이고 서브넷 마스크는 255.255.0.0 이다.

     

    그럼 Docker0 는 무엇이길래 생긴걸까?

     

    해당 구조는 도커를 설치했을때의 구조이다.

    Docker를 설치하였다면 Docker는 Docker가 설치된 서버 내에 자체적으로 스위치를 생성한다.

    스위치의 IP는 127.17.0.1 이며, 컨테이너는 해당 스위치에 연결된 상태로 생성된다.

     

    즉, 컨테이너를 만들었다면 그 컨테이너는 도커 SW위에 올라가며, 해당 컨테이너는 127.17.0.1에 255.255.0.0 을 서브넷 마스크로 하는 IP를 부여 받는다는 뜻이다.

     

    컨테이너의 IP가 궁금하다면 docker container inspect [container name] 을 입력하면 된다.

     

    또한 Dockerfile작성후 컨테이너를 실행시키면 오류가 발생할때가 있는데, 바로 localhost를 쓸때이다.

    Docker는 localhost라는 것을 이해할 수 없다. 그러니 localhost대신에 host.docker.internal 을 사용해야 한다. 해당 명령어가 192.168.10.100를 목적지로 통신하겠다는 것이다. 

     

     

    '클라우드 > Docker' 카테고리의 다른 글

    1. Docker 란?  (0) 2023.02.21

    댓글