如何解决docker宿主机无法访问容器中的服务?
PHP中文网
PHP中文网 2017-04-27 09:03:17
0
2
920

1、在容器中访问容器中的服务有响应,在宿主机访问容器服务无响应,但是宿主机可以访问到容器nginx服务的欢迎界面,截图如下:

在容器中访问容器中的服务有响应:

curl 172.17.0.2:8080

在宿主机访问容器中的服务无响应:

curl 172.17.0.2:8080


不加端口直接访问,会得到nginx服务的欢迎界面代码:

curl 172.17.0.2

2、由于容器里可以访问该服务,所以服务是启动了的;在宿主机可以访问容器中的nginx欢迎界面,说明宿主机可以访问容器中80端口的服务,问题到底出在什么地方呢?

PHP中文网
PHP中文网

认证0级讲师

모든 응답(2)
世界只因有你

각 이미지는 외부에 제공할 수 있는 인터페이스를 정의합니다. Nginx 이미지는 기본적으로 포트 80과 443만 제공합니다. 당연히 컨테이너에서는 8080 포트에 액세스할 수 없습니다.

지정된 포트를 열려면 docker create 또는 docker run에서 컨테이너를 생성할 때 --expose 매개변수만 전달하면 됩니다.

--expose Expose a port or a range of ports

Peter_Zhu

지정된 포트를 호스트 시스템에 노출해야 합니다
docker run -p 8080:80 이미지 이름

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!