windows - 无法从 Windows 中的 docker 访问托管应用程序

标签 windows docker boot2docker docker-machine

我开始使用 docker 一段时间,但遇到了以下问题:

这是我的环境:

Windows 10
boot2docker/Docker version 1.12.0
Virtual box 5.0.24

这就是我想做的:

$ docker run -itp 8090:8090 lamp
root@8ebc390337be:/# service apache2 start
 * Starting web server apache2                                                                                                                                           *
root@8ebc390337be:/# service mysql start
 * Starting MySQL database server mysqld                                                                                                                           [ OK ]
root@8ebc390337be:/#

与容器分离,然后

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
8ebc390337be        lamp         "/bin/bash"         13 minutes ago      Up 13 minutes       0.0.0.0:8090->8090/tcp   happy_brown

$ docker inspect $(docker ps -q) | grep IPA
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.2",
                    "IPAMConfig": null,
                    "IPAddress": "172.17.0.2",

现在当我尝试运行

$ curl 172.17.0.2:8090
curl: (7) Failed to connect to 172.17.0.2 port 8090: Timed out

然后我尝试了

$ docker-machine ip default
192.168.99.100
$ curl 192.168.99.100:8090
curl: (7) Failed to connect to 192.168.99.100 port 8090: Connection refused

我确实经历过这个accessing-a-docker-container-url-on-windows-host但这对我没有帮助。

我应该能够从 Docker 内部和外部访问该 URL。

谁能帮我解决问题

最佳答案

这是您应该使用的 IP 地址192.168.99.100

我预计问题是您的 apache 服务器位于容器内的端口 80,而不是 8090,即您的 docker 命令应该是:

$ docker run -itp 8090:80 linode/lamp

这意味着将外部主机 (192.168.99.100) 上的端口 8090 映射到容器内的端口 80。

关于windows - 无法从 Windows 中的 docker 访问托管应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39139081/

相关文章:

c - SDL2 程序在一段时间后停止响应

python - Docker 身份验证中的 Flask + Bokeh

windows - 无法将 Windows docker 镜像推送到 Artifactory

docker - "Docker-compose up"不是每次都拉图像,它重新创建一个拉图像

Windows guest 虚拟机中的 Docker

Windows 8应用程序部署无需上传到Windows应用商店?

windows - 如何使用 Batch For Loop 执行 ffmpeg

windows - Windows 2012 Server R2标准应用程序上的控制台应用程序错误

docker - 从VM到Docker-了解哪些容器在哪些主机上运行

ip - 给 docker 容器一个可路由的 ip 地址