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

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 パラメータを指定するだけで済みます。 。 docker create或者docker run创建容器时携带--expose参数,就能把指定的端口开放出来。

--expose Expose a port or a range of ports

--expose ポートまたはポート範囲を公開します#🎜🎜#
いいねを押す +0
Peter_Zhu

指定したポートをホストに公開する必要があります
docker run -p 8080:80 イメージ名

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート