[英]Docker: How do I access my server's public IP from within a container?
我在Linux服務器上將不同的應用程序作為docker容器運行。 我可以使用SSL很好地訪問docker容器。 我正在使用的反向代理是traefik
配置為代理子目錄而不是子域。
這些是我的容器:
應用程序A-可通過https://abc.xyz/a
訪問
應用程序B-可通過https://abc.xyz/b
訪問
從我的瀏覽器訪問它們時,這兩個應用程序都已啟動並正在運行並且可以正常工作。
現在,我需要將應用程序B嵌入到應用 程序A中 。 我知道我只能使用容器的內部IP(因為它們位於同一網絡上),但是, 應用A和本地瀏覽器都必須可以訪問嵌入式應用-因此,我需要使用面向公眾的IP / URL 。
現在的問題是我根本無法從應用程序A訪問https://abc.xyz/b
。 以下所有命令均在Application A docker容器內執行。
Ping正在工作:
$ ping abc.xyz
64 bytes from 150.150.150.150: seq=0 ttl=64 time=0.204 ms
因此DNS正在工作。
但是wget
顯示:
$ wget https://abc.xyz/b
Connecting to abc.xyz (150.150.150.150)
(Nothing happens)
我根本無法弄清楚問題出在哪里。 是在traefik
還是這是traefik
限制?
一些調查研究后,我發現,它並沒有相關的docker
或traefik
的。 主機linux啟用了防火牆( ufw
),由於未正確配置,該防火牆阻止了來自docker容器的請求。
我現在允許從容器訪問它並且可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.