[도커] localhost 접근 실패 오류 해결

    728x90
    반응형

    hosts

    What is hosts?

    호스트 이름과 IP 주소 간의 매핑을 정의하는 파일이다.

    DNS 서버를 사용하지 않고도 네트워크에서 호스트 이름을 해결하는 데 사용된다.

     

    localhost 접근 실패 이유

    Docker Container를 자주 삭제하거나 기동할 때 hosts 파일이 꼬이면서 접근이 불가능하게 된다.

    실제로 http://127.0.0.1로는 접근이 가능하나 http://localhost 접근이 불가능한 경우가 발생하게 된다.

     

    에러 해결 방안

    1. hosts 파일을 열어 127.0.0.1에 매핑된 값들을 확인한다.
    2. 컨테이너 외부 접근 url에 매핑된 값 또는 127.0.0.1에 관련된 값들을 삭제 후 저장한다.
    3. localhost로 접근이 가능한지 확인한다.
    #hosts 파일을 열어 127.0.0.1에 매핑된 값들을 확인한다.
    [root@]$ vi /etc/hosts
    
    # This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
    # [network]
    # generateHosts = false
    127.0.0.1       localhost
    127.0.1.1       DESKTOP-58E6RGM.        DESKTOP-58E6RGM
    <feff>
    192.168.110.206 host.docker.internal
    192.168.110.206 gateway.docker.internal
    127.0.0.1       kubernetes.docker.internal <-삭제 후 저장
    
    # The following lines are desirable for IPv6 capable hosts
    ::1     ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters

     

     

    사전체크리스트

    1. http://127.0.0.1:포트번호 로 접근이 가능한지 체크한다.
    2. http:127.17.0.1:포트번호 로 접근이 가능한지 체크한다.
    3. docker network의 ip로 접근이 가능한지 체크한다.
    #docker0의 inet ip를 사용한다.
    [root@]$ ifconfig
    
    docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
            ether 02:42:00:20:28:35  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

     


     

    728x90
    반응형

    댓글