我正在boot2docker 1.3.1下运行。
我有一个Docker容器通过运行Web服务器uwsgi --http :8080
。
如果我连接到该容器,则可以使用浏览该网站,lynx http://127.0.0.1:8080
以便知道服务器正在运行。
我用以下容器运行容器:
$ docker run -itP --expose 8080 uwsgi_app:0.2
它具有以下详细信息:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5248ad86596d uwsgi_app:0.2 "bash" 11 minutes ago Up 11 minutes 0.0.0.0:49159->8080/tcp cocky_hypatia
$ html" target="_blank">docker inspect --format '{{ .NetworkSettings.IPAddress }}' 5248ad86596d
172.17.0.107
我以为可以访问,从托管人访问该网站http://172.17.0.107:49159
。
这是行不通的。我只是在Chrome中看到“正在连接…”,却一无所获。
我究竟做错了什么?
好吧,愚蠢的我,我在boot2docker的文档中找到了答案
https://docs.docker.com/installation/mac/#container-port-
redirection
我需要使用boot2docker vm的IP地址,而不是容器的IP,即
$ boot2docker ip
192.168.59.103
而且我可以从以下主机上浏览我的网站 http://192.168.59.103:49159/
我不需要route
在主机上添加任何内容
问题内容: 我刚刚使用自制软件在Mac上使用Docker- Toolbox安装了Docker:使用自制软件安装了Docker 在使用Rails创建并配置了容器之后,Postgres并启动了docker-compose,一切看起来都很好,但是我无法从主机访问Web服务器。 输出 当我输入谷歌浏览器的网址http://0.0.0.0:8000/我得到 所以我尝试了 具有以下输出: 当我尝试使用Chro
问题内容: 我有一个运行詹金斯的码头集装箱。作为构建过程的一部分,我需要访问在主机上本地运行的Web服务器。是否可以将主机Web服务器(可以配置为在端口上运行)暴露给jenkins容器? 编辑:我正在Linux机器上本地运行docker。 更新: 除了下面的@larsks答案之外,要从主机获取主机IP的IP地址,我还要执行以下操作: 问题答案: 在Linux上本地运行Docker时,您可以使用接口
我有一个docker容器在运行Jenkins。作为构建过程的一部分,我需要访问在主机上本地运行的web服务器。有没有一种方法可以将主机web服务器(可以配置为在端口上运行)公开给jenkins容器? 编辑:我正在Linux机器上原生运行docker。 更新: 除了@larsks下面的答案之外,要从主机获取主机IP的IP地址,我还做了以下操作:
我有一个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集装箱在运jenkins。作为构建过程的一部分,我需要访问在主机上本地运行的web服务器。有没有办法将主机web服务器(可以配置为在端口上运行)公开给jenkins容器? 我在Linux机器上运行docker。 更新: 除了下面的@larsks answer之外,为了从主机获取主机IP的IP地址,我执行以下操作: