recherche

Maison  >  Questions et réponses  >  le corps du texte

如何解决docker宿主机无法访问容器中的服务?

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中文网2767 Il y a quelques jours992

répondre à tous(2)je répondrai

  • 世界只因有你

    世界只因有你2017-04-27 09:05:17

    Chaque image définit une interface qui peut être fournie au monde extérieur. L'image Nginx ne fournit que les ports 80 et 443 par défaut. Naturellement, vous ne pouvez pas accéder au port 8080 dans le conteneur.

    Il vous suffit de porter le paramètre docker create lors de la création d'un conteneur dans docker run ou --expose pour ouvrir le port spécifié.

    --expose Expose a port or a range of ports

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-27 09:05:17

    Vous devez exposer le port spécifié à la machine hôte
    docker run -p 8080:80 le nom de votre image

    répondre
    0
  • Annulerrépondre