"Docker Desktop for Windows" - EXPOSE 포트가 LISTENING 되지 않는 문제
재미있는 현상이군요. ^^; "EXPOSE 80"을 포함한 실행 중인 docker 컨테이너가 분명히 32770으로 포트 매핑이 되어 있는데,
C:\temp> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f71a5003400e webapplication1:dev "tail -f /dev/null" About a minute ago Up 59 seconds 0.0.0.0:32770->80/tcp WebApplication1_1
게다가 container 내부에서는 80 포트가 동작하고 있습니다.
c:\temp> docker exec f71a5003400e curl GET http://localhost:80
...[생략]...
</body>
</html>
그런데, 호스트 측에는 해당 포트가 열려 있지 않으니,
C:\temp> netstat -ano | findstr 32770
C:\temp>
당연히 웹 브라우저에서는 "http://localhost:32770"으로 접속하면 이런 오류가 발생합니다.
Hmmm… can't reach this page
localhost refused to connect.
Search Bing for localhost
ERR_CONNECTION_REFUSED
무슨 조화인지 모르겠군요. ^^; "Docker Desktop for Windows" 관련한 모든 프로세스를 재시작해 봐도 문제가 해결되지 않아 재부팅을 했더니 정상적으로 돌아왔습니다. ^^ (은근
불안정한 요소가 있습니다.)
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]