我已經創建了碼頭集裝箱並安裝了mailpile開放源代碼郵件客戶端。 在容器中運行mailpile二進制文件會將以下消息輸出到STDOUT。無法訪問碼頭集裝箱內的郵件服務器
The Web interface address is: http://localhost:33411/
所以我在主機上,打開Firefox和試圖127.0.0.1:33411
。它不起作用。 然後我查找了docker分配給容器的IP地址。 我看着它通過在主機上運行以下命令, docker inspect mp | grep IP
它說的容器具有172.17.0.3
的IP地址,所以現在,我在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
文件。所以服務器正在運行..
我不知道該怎麼做。有人可以諮詢嗎?
在你的容器進入以'搬運工exec'and與'netstat的-an'和類似的命令 – user2915097
'活動的互聯網連接檢查(服務器,並建立)'' 的Recv原-Q發送Q本地地址外地址狀態' 'tcp 0 0 127.0.0.1:33411 0.0.0.0:* LISTEN' – Jay