Я пытаюсь настроить docker для уже существующего laravel проекта. Как вы, ребята, знаете, Laravel Scout предоставляет простое решение на основе драйверов для добавления полнотекстового поиска в наши модели Eloquent, я использую его в своем собственном проекте. Я использую Laradock и устанавливаю Elassearch в качестве драйвера для разведчика. Однако, когда я пытаюсь создать индекс php artisan elastic:create-index App\\MyIndexConfigurator
(или даже команду импорта scout), у него появляется эта ошибка No alive nodes found in your cluster
.
Странно то, что если я попал на http://localhost:9200/_cluster/health
, он выглядит хорошо:
`{
cluster_name: "laradock-cluster",
status: "green",
timed_out: false,
number_of_nodes: 1,
number_of_data_nodes: 1,
active_primary_shards: 0,
active_shards: 0,
relocating_shards: 0,
initializing_shards: 0,
unassigned_shards: 0,
delayed_unassigned_shards: 0,
number_of_pending_tasks: 0,
number_of_in_flight_fetch: 0,
task_max_waiting_in_queue_millis: 0,
active_shards_percent_as_number: 100
}`
Это мой scout_elasti c config:
return [
'client' => [
'hosts' => [
env('SCOUT_ELASTIC_HOST', 'localhost:9200'),
],
],
'update_mapping' => env('SCOUT_ELASTIC_UPDATE_MAPPING', true),
'indexer' => env('SCOUT_ELASTIC_INDEXER', 'single'),
'document_refresh' => env('SCOUT_ELASTIC_DOCUMENT_REFRESH'),
];
и вот мой docker -compose.yml:
### ElasticSearch ########################################
elasticsearch:
build: ./elasticsearch
volumes:
- elasticsearch:/usr/share/elasticsearch/data
environment:
- cluster.name=laradock-cluster
- node.name=laradock-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- cluster.initial_master_nodes=laradock-node
ulimits:
memlock:
soft: -1
hard: -1
ports:
- "${ELASTICSEARCH_HOST_HTTP_PORT}:9200"
- "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300"
depends_on:
- php-fpm
networks:
- frontend
- backend
Редактировать:
curl -XGET http://elasticsearch:9200/_cluster/health
:
{
"cluster_name":"laradock-cluster","status":"green",
"timed_out":false,
"number_of_nodes":1,
"number_of_data_nodes":1,
"active_primary_shards":0,
"active_shards":0,
"relocating_shards":0,
"initializing_shards":0,
"unassigned_shards":0,
"delayed_unassigned_shards":0,
"number_of_pending_tasks":0,
"number_of_in_flight_fetch":0,
"task_max_waiting_in_queue_millis":0,
"active_shards_percent_as_number":100.0
}
.env:
APP_NAME=Laravel
APP_ENV=local
APP_DEBUG=true
APP_URL=http://127.0.0.1
SCOUT_DRIVER=elastic
SCOUT_ELASTIC_HOST=elasticsearch:9200