2017-02-07 1 views
1

내 컴퓨터에서 Docker에서 응용 프로그램을 실행 중입니다 (http://localhost:8181에서 실행).도커에서 실행중인 서버에 요청하는 방법

docker run -p 8181:8181 myapp으로 도커를 시작했습니다.

일부 검색 후 172.17.0.1 인 ifconfig와 내 컴퓨터의 IP를 실행할 때 docker0의 출력으로 내 요청을 보내려고했습니다. 나는 또한 localhost와 0.0.0.0을 시도했다 : http://<ip>:8181/myapp. 나는 우분투 16.04를 사용하고있다.

어떻게 도커에서 실행되는 서버로 요청을 보낼 수 있습니까?

+1

http : // localhost : 8181/myapp가 작동 했어야합니다. 당신이 그것을 시도했을 때 정확히 무슨 일이 일어 났습니까? – jwodder

답변

2

응용 프로그램을 localhost : 8181에서 수신 대기 상태에서 0.0.0.0:8181 수신 대기 상태로 변경하십시오. 도커 포트 매핑은 컨테이너 내부의 루프백 인터페이스가 아닌 컨테이너의 IP로 라우팅되므로 앱이 모든 인터페이스에서 수신 대기해야합니다. 당신이 용기 내부의 같은 포트에 호스트에 8181 매핑 포트 매핑 옵션을 가지고 그런

당신이 당신의 컨테이너를 실행

docker run -p 8181:8181 myapp 

마지막으로, 당신은에 당신의 고정 표시기 호스트의 IP에 연결 포트 8181을 사용하여 응용 프로그램에 액세스하십시오. Docker for Win/Mac의 최신 버전과 Linux 설치의 모든 버전에서는 호스트의 localhost : 8181이 될 수 있습니다. docker-machine (docker-toolbox 포함)을 사용하는 경우 해당 IP는 원격 도커 호스트 또는 VM이어야하며 해당 IP는 docker-machine ls에 나열됩니다.

+1

이 문제가 해결되었습니다! 고맙습니다 :) – user16655

관련 문제