无法访问docker容器内的mailpile服务器

时间:2015-01-09 06:23:34

标签: docker

我创建了一个docker容器并安装了mailpile开源电子邮件客户端。 在容器内运行mailpile二进制文件会将以下消息打印到STDOUT。

The Web interface address is: http://localhost:33411/

所以我在主机上打开了firefox并试了127.0.0.1:33411。那没起效。 然后我查找了docker分配给容器的IP地址。 我通过在主机上运行以下命令来查找它, docker inspect mp | grep IP

它说容器的IP地址为172.17.0.3

所以现在,我在我的主机上运行的firefox上尝试了172.17.0.3:33411。它仍然无效。

然后我用docker stop mp停止了容器。然后我将其提交给名为mp_image的图像。我在主机上运行以下命令来进行提交。

docker commit mp mp_image

提交后,我创建了一个新的运行容器,但这次将容器的端口33411转发到主机的端口33411。我在主机上运行了以下命令,

docker run -i -t -p 33411:33411 --name "mailpile" mp_image /bin/bash

现在,一旦我进入容器,再次运行mailpile二进制文件并尝试从主机访问它。这次我在主机浏览器上使用了所有这些变体,

127.0.0.1:33411 172.17.0.3:33411

再次无法正常工作。现在我开始怀疑服务器是否首先在容器中运行。所以我进入了容器并做了wget 127.0.0.1:33411。我得到了一个很好的index.html文件。所以服务器正在运行..

此时我不知道该怎么做。有人可以请一点建议吗?

1 个答案:

答案 0 :(得分:0)

构建Mailpile是为了仅从本地主机侦听端口33411。按照此处所述安装代理或隧道连接:https://github.com/mailpile/Mailpile/wiki/Accessing-The-GUI-Over-Internet