Как сопоставить порт эластичного поиска с 9200 до 92xx при работе в кибане с помощью docker-compose - PullRequest
0 голосов
/ 21 декабря 2018

У меня есть файл docker-compose.yaml с определением эластичного поиска и kibana.

При запуске docker-compose я смогу получить доступ к кибане с помощью URL http://localhost:8181 со всеми работающимикак исключено.Однако моя проблема заключается в том, что я не хочу использовать порт эластичного поиска 9200 в кибане, я хочу использовать другой порт (например, 9201)

Как я могу подключить эластичный поиск в кибане при использовании порта, отличного от 9200?

Я попытался добавить следующее ниже, но я получаю сообщение об ошибке "Невозможно подключиться к Elasticsearch на http://elasticsearch:9201."

elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.3
    environment:
        discovery.type: single-node
    ports:
        -"9201:9200"

kibana:
    depends_on:
        - elasticsearch
    image: docker.elastic.co/kibana/kibana-oss:6.2.3
    environment:
        SERVER_NAME: "s_name"
        ELASTICSEARCH_URL: http://elasticsearch:9201
    ports:
        - "8181:5601"

. Ниже работает нормально с портом 9200

elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.3
    environment:
      discovery.type: single-node

kibana:
    depends_on:
      - elasticsearch
    image: docker.elastic.co/kibana/kibana-oss:6.2.3
    environment:
      SERVER_NAME: "s_name"
      ELASTICSEARCH_URL: http://elasticsearch:9200
    ports:
      - "8181:5601"

1 Ответ

0 голосов
/ 21 декабря 2018

ELASTICSEARCH_URL: http://elasticsearch:9201

Установите вместо этого ELASTICSEARCH_URL: http://elasticsearch:9200.

"9201:9200" сопоставляет порт контейнера с портом хоста.То есть он выставляет 9201 на сетевых интерфейсах вашего хоста и перенаправляет его на порт 9200 в контейнере.

Однако ваша служба Kibana пыталась подключиться к 9201 из elasticsearch - другого *Контейнер 1012 * в другой сети с другим IP-адресом, отличным от 127.0.0.1, и в этой сети контейнер выполняет процесс на порту 9200.

РЕДАКТИРОВАТЬ: при повторном чтении вы можете настроить порт Настройка номера порта ElasticSearch .Попробуйте установить http.port в среде (на основе https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-configuration-methods):

elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.3 environment: discovery.type: single-node http.port: 9201-9301 ports: -"9201:9201"

...