我有一个必须由nodejs应用程序访问的elasticsearch容器,但我不希望nodejs应用程序以外的任何其他应用程序都可以访问我的第一个容器。
我已经设置了一个从nodejs应用程序到我的elasticsearch容器的链接,但我没有找到任何禁用任何其他连接的选项。
实现这一目标的最佳方法是什么?
发布于 2016-09-12 18:23:42
您可以创建一个仅由您的elasticsearch容器和您需要的特定客户端共享的专用网络。您还可以创建第二个网络,允许您的nodejs应用程序与其他容器通信。
避免使用链接。如果你像下面这样定义你自己的网络,它们就被认为是遗留的。
version: "2"
networks:
backend:
driver: bridge
esprivate:
driver: bridge
services:
elasticsearch:
image: elasticsearch:2.3.3
networks:
- esprivate:
expose:
- "9200"
- "9300"
nodejs:
networks:
- esprivate
- backend
other_service:
networks:
- backend在这个docker-compose.yml示例中,您的nodejs应用程序可以使用url http://elasticsearch:9200引用elasticsearch。
https://stackoverflow.com/questions/39447601
复制相似问题