Docker:如何访问我的服务器;容器中的公共IP?

Docker:如何访问我的服务器;容器中的公共IP?,docker,networking,docker-compose,traefik,Docker,Networking,Docker Compose,Traefik,我在linux服务器上以docker容器的形式运行不同的应用程序。我可以使用SSL访问docker容器。我使用的反向代理是traefik配置为代理子目录而不是子域 这些是我的容器: 应用程序A-可通过https://abc.xyz/a 应用程序B-可通过https://abc.xyz/b 从我的浏览器访问这两个应用程序时,它们都已启动并正常运行 现在我需要将应用程序B嵌入应用程序A。我知道我可以只使用容器的内部IP(因为它们在同一个网络上),但是,嵌入式应用程序必须能够被应用程序A以及本地浏览器

我在linux服务器上以docker容器的形式运行不同的应用程序。我可以使用SSL访问docker容器。我使用的反向代理是
traefik
配置为代理子目录而不是子域

这些是我的容器:

应用程序A-可通过
https://abc.xyz/a

应用程序B-可通过
https://abc.xyz/b

从我的浏览器访问这两个应用程序时,它们都已启动并正常运行

现在我需要将应用程序B嵌入应用程序A。我知道我可以只使用容器的内部IP(因为它们在同一个网络上),但是,嵌入式应用程序必须能够被应用程序A以及本地浏览器访问-因此我需要使用面向公众的IP/URL

现在的问题是我根本无法访问
https://abc.xyz/b
来自应用程序A。以下所有命令都在应用程序Adocker容器内执行

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
中,还是这是docker的局限性?

经过进一步的研究,我发现它与
docker
traefik
完全无关。主机linux启用了防火墙(
ufw
),该防火墙阻止来自docker容器的请求,因为它没有正确配置


我现在允许从容器中访问,它可以工作。

经过进一步研究,我发现它与
docker
traefik
完全无关。主机linux启用了防火墙(
ufw
),该防火墙阻止来自docker容器的请求,因为它没有正确配置

我现在允许从容器中访问,它可以工作了