Docker容器只能由另一个容器访问
我有一个elasticsearch容器,它必须可以被我的nodejs应用程序访问,但我不希望我的第一个容器可以被我的nodejs应用程序访问 我已经设置了从nodejs应用程序到elasticsearch容器的链接,但是我没有找到任何选项来禁用任何其他连接Docker容器只能由另一个容器访问,docker,docker-compose,Docker,Docker Compose,我有一个elasticsearch容器,它必须可以被我的nodejs应用程序访问,但我不希望我的第一个容器可以被我的nodejs应用程序访问 我已经设置了从nodejs应用程序到elasticsearch容器的链接,但是我没有找到任何选项来禁用任何其他连接 实现它的最佳方法是什么?您可以创建一个专用网络,该网络仅由您的elasticsearch容器和您想要的特定客户端共享。您还可以创建第二个网络,允许您的nodejs应用程序与其他容器通信 避免使用链接。如果您像下面这样定义自己的网络,它们将被视
实现它的最佳方法是什么?您可以创建一个专用网络,该网络仅由您的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容器和您想要的特定客户端共享的专用网络。您还可以创建第二个网络,允许您的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应用程序可以使用urlhttp://elasticsearch:9200