gpt4 book ai didi

docker - docker 容器如何公开服务?

转载 作者:行者123 更新时间:2023-12-02 19:25:51 24 4
gpt4 key购买 nike

我正在通过以下命令部署服务堆栈:docker stack deploy -c <docker-compose.yml> <stack-name>
而且我正在docker上映射这些服务之一的端口,并由ports: 8000:8000组成。

使用的网络驱动程序是叠加层。
我可以通过ocalhost:8000,对等IP(?)访问这些服务。

检查创建的网络时,可以看到每个容器的本地IP(例如10.0.1.2)。但是容器的外部IP在哪里(像172.0。...这样的容器)呢?

我在虚拟机ubuntu上运行这些docker容器。

如何从在其他网络上运行的其他节点访问在容器上运行的服务?无法通过hostIP:port访问?

如果是这样,我如何获得主机IP?当我执行docker-machine IP时,出现“主机未运行”。

[编辑:我没有在virtualbox中的主机和VM之间进行端口映射。现在可以了!]

在同一群内的容器之间进行通信的最佳方式是什么?

谢谢

最佳答案

Whats the best way to communicate between containers on the same swarm? Through name discovery?



通常,如果您在容器之间进行通信,则应使用容器/服务名称。

对于您的其他问题,您可能不需要像nginx或traefik这样的反向代理。

关于docker - docker 容器如何公开服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56297353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com