Ubuntu

打開 Docker 容器的埠

  • September 28, 2015

我從 docker 開始,只是嘗試使用 Web 應用程序執行 Docker 容器並嘗試在我們的本地網路中查看它。

我在 VirtualBox 中安裝了一個全新的 Ubuntu 14 LTS,沒有任何額外的服務(沒有 GUI、沒有 LAMP、沒有 OpenSSH ……),然後只安裝了 Docker:

curl -sSL https://get.docker.com/ | sh

我已經執行了一個 Odoo (OpenERP) 容器(以前執行過 postgree 容器)

docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres
docker run -p 127.0.0.1:8069:8069 --name odoo --link db:db -t odoo

非常簡單。看起來它正在工作。我沒有安裝瀏覽器,但是我通過 telnet 連接到 127.0.0.1:8069 並發送了 GET 請求。它回答了。

現在我需要從外部訪問該服務。如何?

  • >

VirtualBox 網路介面被配置為網橋。

  • >

我在 Ubuntu eth0 介面中設置了固定 IP(192.168.0.150)。

  • >

UFW 被禁用

  • >

我可以從其他電腦 ping 到 192.168.0.150,並且 ubuntu 會回答。

  • >

但是瀏覽器在 192.168.0.150:8069 沒有檢測到任何東西

  • >

無法通過 telnet 連接到 192.168.0.150:8069

我想它一定是埠重定向或介面映射的一些配置。請問你能幫幫我嗎?:)

最後我找到了答案。問題是埠分配。如果你設置:

-p 127.0.0.1:8069:8069

你只暴露本地主機。如果您只需要本地服務並且只想從伺服器訪問它,這是一個很好的安全選項。但是,如果您想將埠公開給所有介面,只需鍵入:

-p 8069:8069

然後,您可以通過 eth0 介面通過網路訪問該服務:)

引用自:https://serverfault.com/questions/724634