Docker Elasticsearch与PHP之间没有链接
这是我的docker compose:Docker Elasticsearch与PHP之间没有链接,docker,Docker,这是我的docker compose: version: "2" services: mongodb: container_name: "elastic_backend_mongodb" restart: "always" image: "mongo:latest" volumes: - "./data/db/:/data/db" ports: - "27017:27017" command: --storageEngi
version: "2"
services:
mongodb:
container_name: "elastic_backend_mongodb"
restart: "always"
image: "mongo:latest"
volumes:
- "./data/db/:/data/db"
ports:
- "27017:27017"
command: --storageEngine wiredTiger
networks:
- "elastic_backend"
php:
build: ./develop
container_name: "elastic_backend_php"
restart: "always"
environment:
PHP_IDE_CONFIG: serverName=elastic_backend
depends_on:
- "mongodb"
- "db"
- "elasticsearch"
expose:
- "9000"
volumes:
- "../.:/var/www/html"
networks:
- "elastic_backend"
nginx:
image: "nginx:latest"
container_name: "elastic_backend_nginx"
restart: "always"
volumes:
- "./nginx/conf/nginx.conf:/etc/nginx/conf/nginx.conf:ro"
- "./nginx/conf.d:/etc/nginx/conf.d:ro"
ports:
- "80:80"
volumes_from:
- "php"
networks:
- "elastic_backend"
db:
container_name: "elastic_backend_mysql"
restart: "always"
image: "mysql:5.7"
command: --max_allowed_packet=32505856
environment:
MYSQL_ROOT_PASSWORD: "asd"
MYSQL_DATABASE: "elastic_backend"
ports:
- "3306:3306"
volumes:
- "./mysql:/var/lib/mysql"
networks:
- "elastic_backend"
elasticsearch:
container_name: "elastic_backend_es"
image: elasticsearch:6.5.4
environment:
- discovery.type=single-node
ports:
- "9200:9200"
- "9300:9300"
networks:
elastic_backend:
所以,除了php容器不能ping elasticsearch容器之外,所有这些都可以正常工作。db和mongodb容器可以很好地从php容器ping。我也尝试使用“链接”和docker的模拟指令,但没有任何运气。
那么我做错了什么
我可以从主机(macos)获取elasticsearch的rest接口:
PHP容器无法在此处访问elasticsearch容器,因为,
elasticsearch
服务未连接到elastic\u后端
网络。在elasticsearch
服务下添加此项
networks:
- "elastic_backend"
PHP容器无法在此处访问elasticsearch容器,因为,
elasticsearch
服务未连接到elastic\u后端
网络。在elasticsearch
服务下添加此项
networks:
- "elastic_backend"
啊,真的,非常感谢!以全新的视角看待这个问题是无价的!啊,真的,非常感谢!以全新的视角看待这个问题是无价的!