I'm trying to get Elasticsearch connected on Docker. However it's not working. When doing the setup for Magento 2 it comes back with:
Could not validate a connection to Elasticsearch. No alive nodes found in your cluster
When I try curl elasticsearch:9200
it returns
curl elasticsearch:9200
{
"name" : "5d0ed8e61816",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "VNGqQCgWSvOoBOwmZmHTOQ",
"version" : {
"number" : "7.13.2",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "4d960a0733be83dd2543ca018aa4ddc42e956800",
"build_date" : "2021-06-10T21:01:55.251515791Z",
"build_snapshot" : false,
"lucene_version" : "8.8.2",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
I'm new to Docker, so I guess it's a rookie mistake?..
Here is my docker-compose.yml
version: '3'
services:
web:
image: runner668/php-apache-dev:7.4
container_name: web
restart: always
user: application
environment:
- WEB_DOCUMENT_ROOT=/var/www/html
- PHP_DATE_TIMEZONE=EST
- PHP_DISPLAY_ERRORS=1
- PHP_MEMORY_LIMIT=8096M
- PHP_MAX_EXECUTION_TIME=300
- PHP_POST_MAX_SIZE=500M
- PHP_UPLOAD_MAX_FILESIZE=1024M
- ELASTICSEARCH_HOST=elasticsearch:9200
volumes:
- /Volumes/Int/Docker/project-community-edition:/var/www/html
ports:
- "80:80"
- "443:443"
- "32823:22"
links:
- mysql
mysql:
image: mariadb:10.3.16
container_name: mysql
restart: always
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=magento
volumes:
- db-data:/var/lib/mysql
phpmyadmin:
container_name: phpmyadmin
restart: always
image: phpmyadmin/phpmyadmin:latest
environment:
- MYSQL_ROOT_PASSWORD=root
- PMA_USER=root
- PMA_PASSWORD=root
ports:
- "8080:80"
links:
- mysql:db
depends_on:
- mysql
elasticsearch:
image: elasticsearch:7.13.2
container_name: elasticsearch
environment:
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ports:
- "9200:9200"
- "9300:9300"
depends_on:
- "web"
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
volumes:
db-data:
external: false
elasticsearch-data:
external: false