Ubuntu
打開 Docker 容器的埠
我從 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 介面通過網路訪問該服務:)