elasticsearch docker容器之间的通信故障
我正在运行一个“elasticsearch”容器。我可以卷曲容器并获得结果,但当我尝试从“web”容器中与容器通信时,它拒绝连接elasticsearch docker容器之间的通信故障,elasticsearch,docker,elasticsearch,Docker,我正在运行一个“elasticsearch”容器。我可以卷曲容器并获得结果,但当我尝试从“web”容器中与容器通信时,它拒绝连接 docker-compose up curl localhost:9200 // works. curl docker-compose run web curl localhost:9200 // connection refused. docker compose.yml version: '2' services: web: build:
docker-compose up
curl localhost:9200 // works.
curl docker-compose run web curl localhost:9200 // connection refused.
docker compose.yml
version: '2'
services:
web:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/src
ports:
- "5000:5000"
depends_on:
- elasticsearch
elasticsearch:
image: elasticsearch:5.1.2
ports:
- "9200:9200"
Dockerfile
FROM python:3.5
ADD . /src
WORKDIR /src
RUN pip install -r requirements.txt
CMD python project/wsgi.py
您应该尝试卷曲
elasticsearch:9200
,而不是localhost:9200
。主机名elasticsearch应位于web容器上的主机文件中 您不能从web
容器中使用localhost:9200
连接到elasticsearch
容器。您可以定义链接或仅使用服务名称(默认情况下映射):
链接允许您定义额外的别名,通过这些别名可以从另一个服务访问服务。启用服务通信不需要它们——默认情况下,任何服务都可以以该服务的名称到达任何其他服务
另请参见是否也要添加
Dockerfile
?
curl elasticsearch:9200