首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何调试一个网络--可能是Hyperkit引起的问题--在Mac上安装Docker?

我如何调试一个网络--可能是Hyperkit引起的问题--在Mac上安装Docker?
EN

Stack Overflow用户
提问于 2017-01-25 10:16:00
回答 1查看 352关注 0票数 0

问题:网络没有路由到主机。例如:

代码语言:javascript
复制
docker run -tip 80:8080  httpd

不会导致apache在本地主机上做出响应:主机上的8080,或者docker.local:8080上的任何东西。如果我试图从内部连接,容器可以正常工作:

代码语言:javascript
复制
docker run -ti debian    
curl 172.17.0.2
<html><body><h1>It works!</h1></body></html>

似乎在码头那边,一切都很好。在docker ps上得到:... 80/tcp, 0.0.0.0:80->8080/tcp ...

环境:新,清洁操作系统安装-OSXSiera10.12.2,Docker.app版本1.13.0稳定(加1.13.0 )。测试版和1.12.0版的测试结果相同)。

假设:在Docker和OS之间有一些突破。我猜这是Hyperkit (对我来说就像一个黑匣子)。在这里,构建脚本可能打破了一些设置:http://bigchaindb-examples.readthedocs.io/en/latest/install.html#the-docker-way是以docker-machine为中心的,我可能低估了这一点。有趣的是,这也是一个新的安装:这个构建脚本是我在上面做的第一件事--我不知道网络以前是否有效。

问题:如何诊断这些东西。我希望能够找到确切的交通丢失的地方,并相应地修复它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-25 10:48:13

命令行将端口反转:

代码语言:javascript
复制
docker run -tip 8080:80 httpd

首先是主机端口,然后是容器端口,然后是要绑定的可选接口。您还可以看到,在docker ps输出中,主机上的端口80被映射到容器内的端口8080。

另一个问题是容器内部的服务需要侦听所有容器接口(0.0.0.0),而不是容器的本地主机接口,否则代理无法将流量转发给它。但是,官方图像中的默认设置不会出现此问题,而curl命令显示的是不适用于您的设置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41848875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档