在VM上使用docker

时间:2019-11-18 11:41:12

标签: docker docker-compose

我是docker的新手,现在我开始学习本教程: https://docker-curriculum.com/#getting-started

我的本​​地计算机是Windows 10,我将openstack VM Ubuntu-18.04-LTS用于docker教程,一切正常,直到我运行docker web映像并尝试在本地上打开网页http://localhost:32769浏览器,它给我:无法访问此站点,本地主机拒绝连接。

4 个答案:

答案 0 :(得分:1)

好的,所以您所遵循的教程假设您的Docker安装在您的工作站上。在您的设置中情况并非如此。您必须确定机器。您的工作站和Docker主机。

使用localhost只能连接到当前正在使用的计算机。在您的情况下,那将是您的工作站。由于您的工作站上没有运行docker且未在工作站的教程中执行命令,因此localhost无法正常工作。没有任何可连接的东西。

因此,要让您正常运行,您需要

  • docker主机(您的ubuntu机器)的IP
  • 容器在ubuntu VM上公开的正确端口

您可以通过(在ubuntu VM上执行)获取IP

ifconfig

,您可以通过执行(在ubuntu VM上)检查已公开的端口

docker port static-site 

获得Ubuntu VM的IP和公开的端口后,您可以通过输入以下内容从Windows工作站访问容器

http://[UBUNTU VM IP]:[EXPOSED PORT]

答案 1 :(得分:0)

您可以使用docker的ip地址而不是localhost来查看网页。

以下命令将有助于找到docker ip

$ docker-machine ip 

使用获得的IP,您可以访问该网址。

http://<Obtained IP>:<port> 

答案 2 :(得分:0)

2个可能的问题:

  • 请显示命令docker port static-site的输出。容器的端口随机绑定到本地主机。您很可能必须使用与示例中使用的端口不同的端口。 示例输出为80/tcp -> 0.0.0.0:32769,从中得出的URL为http://localhost:32769
  • 该端口将绑定到您的Ubuntu VM中。您将无法从Windows浏览器访问它。

答案 3 :(得分:0)

运行容器时,需要将容器暴露在端口上,以便来自外部的流量可以到达容器。在容器映像中具有EXPOSE端口可以表明容器在内部运行并绑定到该特定端口。

他已将容器暴露给32769端口号,因此他需要在浏览器上使用此端口。