
我從 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
我想這一定是連接埠重定向或介面映射的一些配置。請問你能幫幫我嗎? :)
答案1
最後我找到了答案。問題是連接埠分配。如果您設定:
-p 127.0.0.1:8069:8069
您隻公開本地主機。如果您只需要本地服務並且只想從伺服器存取它,那麼這是一個很好的安全選項。但是,如果您想將連接埠公開給所有接口,只需鍵入:
-p 8069:8069
然後,你就可以透過eth0介面透過網路存取該服務了:)