Итак, я потратил последние 6 часов, делая это, и успешно заставил его работать с двумя отдельными контейнерами докеров (я просто делаю docker pull kibana: 7.3.2 и docker pull elasticsearch: 7.3.2). Тег кажется важным по какой-то причине, так как последний дает мне ошибку ... в любом случае я следую за этим двумя отдельными командами запуска докеров, отображающими порты 9200 и 5601 на localhost: 9200 и localhost: 5601 соответственно.
Кажется, хотя у меня есть -e ELASTIC_SEARCH_URL = "127.0.0.1:9200" в моем докере, запущенном для кибаны, он не работал должным образом, и мне пришлось войти в мой работающий контейнер кибаны и настроить файл kibana.yml для указать 127.0.0.1:9200 (эластичный поиск) вручную
docker run --name kibana -p 5601: 5601 --link elasticsearch_container: 0bf156df9385 -e "ELASTICSEARCH_URL =http://127.0.0.1:9200"кибана
Короче говоря, это занимало слишком много времени, чтобы делать это каждый раз, поэтому я в конце концов нашел docker-compose, который, как я понимаю, должен использовать для начала. так что у меня есть следующий docker-compose.yml
version: '2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.3.2
container_name: elasticsearch
networks:
docker-elk:
kibana:
image: docker.elastic.co/kibana/kibana:7.3.2
container_name: kibana
environment:
- "ELASTICSEARCH_URL=http://elasticsearch:9200"
networks:
- docker-elk
depends_on:
- elasticsearch
networks:
docker-elk:
driver: bridge
Теперь, когда я запускаю docker-compose up -d в том же каталоге, что и этот файл, он просто ничего мне не дает ... не запускает контейнер (я пробовал docker ps и docker-compose build с флагом --versbose ... еще ничего).
Я не уверен, что я делаю не так и что делать дальше. Я использую Ubuntu 4.15, и я новичок в этом докере.
Попробуйте использовать docker-compose up (без -d). Тогда вы сможете увидеть, что вызывает проблему. Если проблема в том, что вы получаете следующую ошибку, которую я имел, попробуйте добавить конфигурацию в службу elasticsearch:
настройки обнаружения по умолчанию не подходят для производственного использования; должен быть настроен хотя бы один из [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]
Если вы находитесь в тестовой среде и вам не нужен кластер elasticsearch, используйте это:
environment:
- discovery.type=single-node