我正在通过以下命令部署服务堆栈:
docker stack deploy -c <docker-compose.yml> <stack-name>
我正在映射docker上这些服务之一的端口,其中包含ports: 8000:8000
。
正在使用的网络驱动程序已覆盖。
我可以通过对等IP(?)通过l ocalhost:8000
访问这些服务。
当我检查创建的网络时,我可以看到每个容器的本地IP(例如10.0.1.2)。但是容器的外部IP在哪里(如172.0。...)?
我正在虚拟机ubuntu上运行这些docker容器。
如何从在其他网络上运行的其他节点访问在容器上运行的服务?无法通过hostIP:port
访问吗?
如果是,我如何获取主机IP?当我执行docker-machine IP时,出现“主机未运行”。
[编辑:我没有在virtualbox中的主机和VM之间进行端口映射。现在可以了!]
在同一群内的容器之间进行通信的最佳方法是什么?
谢谢
答案 0 :(得分:0)
在同一群内的容器之间进行通信的最佳方法是什么?通过名称发现?
通常,如果您在容器之间进行通信,则应使用容器/服务名称。
对于您的其他问题,您可能不需要像nginx或traefik这样的反向代理。