在 Mac 上使用 Docker Desktop 安装后无法访问 Elastic Search
Can't access Elastic Search after installing using Docker Desktop on Mac
我在 mac。尝试 运行 Elastic Search 使用 Docker Desktop。下面是我运行的命令。我在 Kibana 中 运行 查询没问题,问题是我无法通过 localhost:9200 连接到 Elastic Search。请帮忙!!
$docker network create elastic
$docker pull docker.elastic.co/elasticsearch/elasticsearch:8.1.2
$docker run --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -t docker.elastic.co/elasticsearch/elasticsearch:8.1.2
$docker pull docker.elastic.co/kibana/kibana:8.1.2
$docker run --name kib-01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.1.2
请记住您的问题要具体。 “无法连接”- 尝试连接时会发生什么情况?
如果你得到的是
curl: (52) Empty reply from server
问题是elasticsearch 8.0+默认开启了安全,所以需要证书和密码。
完整说明在 elasticsearch website
但是新的两个步骤是:
复制证书:
docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .
并通过 curl 使用证书和密码:
curl --cacert http_ca.crt -u elastic https://localhost:9200
系统将提示您输入密码。 Elasticsearch 实例启动时会打印密码。是的,它被埋在日志输出中,但是有空行,不难发现。看起来像:
-> Elasticsearch security features have been automatically configured!
-> Authentication is enabled and cluster connections are encrypted.
-> Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
PLoSd-3iJTncwmdSAwaku
-> HTTP CA certificate SHA-256 fingerprint:
722460137abbd54249a056698d4ac3d05495de9c18e7ac4aba9e3e07814fe3c79
有一个额外的步骤(和相同的用户(elastic)和密码来访问 kibana。
这里的路线:https://www.elastic.co/guide/en/kibana/current/docker.html