当前位置: 首页 > 面试题库 >

docker-machine:无法从主机访问容器的Web服务器

韦棋
2023-03-14
问题内容

我刚刚使用自制软件在Mac上使用Docker-
Toolbox安装了Docker:使用自制软件安装了Docker

在使用Rails创建并配置了容器之后,Postgres并启动了docker-compose,一切看起来都很好,但是我无法从主机访问Web服务器。

输出

$ docker-compose up

dummy_1    | I, [2016-03-30T14:55:53.130639 #6]  INFO -- : listening on addr=0.0.0.0:8000 fd=10

当我输入谷歌浏览器的网址http://0.0.0.0:8000/我得到

This site can’t be reached

0.0.0.0 refused to connect.
ERR_CONNECTION_REFUSED

所以我尝试了

$ docker-machine env dummy

具有以下输出:

export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/choi/.docker/machine/machines/dummy"
export DOCKER_MACHINE_NAME="dummy"

当我尝试使用Chrome浏览器时,http://192.168.99.100:2376我会下载一个空白文件。为什么会这样呢?我希望我的Rails应用程序具有默认的问候页面。


问题答案:

192.168.99.100在这种情况下,是您的Docker主机的IP。您需要公开容器的端口,然后才能从外部连接到它。

我不熟悉Docker Compose,但是您发布的日志 表明 暴露了端口8000。因此,请尝试http://192.168.99.100:8000

(之所以http://192.168.99.100:2376不起作用,是因为这是Docker守护程序本身的地址和端口,它不是基于HTTP的。至于0.0.0.0:这是您的Web服务器在容器
内部 侦听的地址,它等同于所有外部连接。但是,如果没有任何端口暴露在外,那就没办法了!)



 类似资料:
  • 问题内容: 我正在boot2docker 1.3.1下运行。 我有一个Docker容器通过运行Web服务器。 如果我连接到该容器,则可以使用浏览该网站,以便知道服务器正在运行。 我用以下容器运行容器: 它具有以下详细信息: 我以为可以访问,从托管人访问该网站。 这是行不通的。我只是在Chrome中看到“正在连接…”,却一无所获。 我究竟做错了什么? 问题答案: 好吧,愚蠢的我,我在boot2doc

  • 我有一个关于这个问题的问题https://hub.docker.com/r/jupyter/scipy-notebook.我正在尝试使用docker compose运行此图像: 组成: Dockerfile 我用手够不着它http://locahost:8888 .... 网址。我使用Windows10作为主机,并尝试从这个docker compose和这些工作中访问其他服务。

  • 我有一个docker应用程序,我使用以下docker compose。yml运行它: 我有一个没有docker化的服务器在我的机器上运行,我可以通过访问它。我希望我的服务能够访问它。 我发现有人建议在我的服务配置中添加以下内容: 但是当我添加这个时,并尝试,我得到。当我尝试<code>curl时,也会出现同样的错误http://host.docker.internal:3000。 我拼命地尝试将端

  • 我在本地机器(Mac)上工作,其中有一个名为sqlvm的遗留虚拟机(这意味着我可以通过http://sqlvm:从本地主机访问这个虚拟机)。现在,我在应该连接到vm的同一个本地主机(我的Mac)中设置了几个docker容器(使用docker-compose)。< code>pymysql会引发一个异常: 如何将外部的“sqlvm”公开给内部 Docker 网络? 编辑:我尝试在yml文件中为相关容

  • 问题内容: 我运行基于节点映像的Docker容器(Windows的Docker快速入门终端) 我启动节点客户端(在端口3000上)和节点(基于Express)的服务器(在3009 端口上)。客户端通过AJAX调用访问REST服务器。 它可以完美地从主机运行(客户端访问localhost:3009并返回结果)。我可以拨打:3009,然后再次得到正确的结果。 但是当我构建并运行docker image

  • 问题内容: 我已经开始使用docker进行开发,并进行以下设置: 主机-ubuntu服务器。 Docker容器-带有tomcat服务器的webapp(使用https)。 就主机-容器访问而言-一切正常。 但是 ,我无法从远程计算机(尽管仍然在同一网络中)访问容器的webapp。 跑步时 输出符合预期,因此docker的端口绑定看起来不错。 有任何想法吗? 谢谢! 问题答案: 我发现了我错过的内容,