我只是嘗試為 Elastic Search 和 Kibana 創建兩個容器。
docker network create esnetwork
docker run --name myes --net esnetwork -p 127.0.0.1:9200:9200 -p 127.0.0.1:9300:9300 -e "discovery.type=single-node" elasticsearch:7.9.3
并且 Elastic Search 在我使用時有效,http://localhost:9200或者http://internal-ip:9200
但是當我使用時http://myes:9200,它無法決議容器名稱。
因此,當我跑步時
docker run --name mykib --net esnetwork -p 5601:5601 -e “ELASTICSEARCH_HOSTS=http://myes:9200” docker.elastic.co/kibana/kibana:7.9.3
無法創建它,因為它無法解決myes:9200
我還嘗試將“ELASTICSEARCH_HOSTS=http://myes:9200”替換為localhost:9200內部 IP。但沒有任何效果。所以我認為我的問題應該是如何使容器的 DNS 作業?
uj5u.com熱心網友回復:
你如何解決'myes'?它是否映射到主機名檔案并決議為 127.0.0.1?此外,盡可能使用 127.0.0.1 ,因為 localhost 可能指向其他內容而無法解決。
uj5u.com熱心網友回復:
看來這個問題不是由 DNS 引起的。Elastic search 和 Kibana 容器都應使用修復名稱 "elasticsearch" 。所以 docker 命令將是:
$docker network create esnetwork
$sudo vi /etc/sysctl.d/max_map_count.conf
vm.max_map_count=262144
$docker run --name elasticsearch --net esnetwork -p 127.0.0.1:9200:9200 -p 127.0.0.1:9300:9300 -e
$docker run --name kib01-test --net esnetwork -p 5601:5601 -e “ELASTICSEARCH_HOSTS=http://elasticsearch:9200” docker.elastic.co/kibana/kibana:7.9.3
然后,如果運行安裝的終端可以自動結束,只需關閉它們。并從 docker 桌面管理器重新啟動容器。那么一切都會順利進行。
我的環境是 Fedora 36,docker 20.10.18
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/513928.html
標籤:码头工人弹性搜索
