Docker端口映射无效,"连接被拒绝"

时间:2017-05-29 01:51:51

标签: docker docker-compose

我有一个在Windows中运行的docker容器,如下所示。

C:\magento2-devbox>docker-compose ps
                         Name                                        Command               State                                              Ports
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
magento2devbox_db_046616a8b9fbb28b8fe4b01a66076f5e        docker-entrypoint.sh mysqld      Up      0.0.0.0:32776->3306/tcp
magento2devbox_elastic_046616a8b9fbb28b8fe4b01a66076f5e   /docker-entrypoint.sh elas ...   Up      0.0.0.0:32771->9200/tcp, 9300/tcp
magento2devbox_rabbit_046616a8b9fbb28b8fe4b01a66076f5e    docker-entrypoint.sh rabbi ...   Up      15671/tcp, 0.0.0.0:32773->15672/tcp, 25672/tcp, 4369/tcp, 5671/tcp, 0.0.0.0:32774->5672/tcp
magento2devbox_redis_046616a8b9fbb28b8fe4b01a66076f5e     docker-entrypoint.sh redis ...   Up      6379/tcp
magento2devbox_varnish_046616a8b9fbb28b8fe4b01a66076f5e   /usr/local/bin/entrypoint.sh     Up      0.0.0.0:32775->6081/tcp
magento2devbox_web_046616a8b9fbb28b8fe4b01a66076f5e       /usr/local/bin/entrypoint.sh     Up      0.0.0.0:32770->22/tcp, 44100/tcp, 0.0.0.0:32768->5000/tcp, 0.0.0.0:32769->80/tcp, 9000/tcp

但是,当我尝试访问应该映射到容器Web服务器的http://localhost:32769时,我得到"连接被拒绝"。如何开始调试正在发生的事情?

感谢。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。在Windows中,容器本身不在Windows上运行,而是在Virtualbox中的tocket VM内运行。因此你必须运行:

C:\magento2-devbox>docker-machine ip
192.168.99.100

然后使用该IP来访问应用程序:http://192.168.99.100:32769 - 现在可以使用了。在上面我的具体情况中,我需要达到应用程序的{Varnish IP} http://192.168.99.100:32775