ES
拉取镜像
docker pull elasticsearch:7.10.1
启动容器
docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms1g -Xmx1g" -v /es_data:/usr/share/elasticsearch/data --name es 558380375f1a
注:可能没有目录权限
sudo chmod -R 777 /es_data
访问 ip:9200 检验是否成功启动
设置密码
#进入容器
b
#进入 es 安装目录
cd /usr/share/elasticsearch/bin
#使用elasticsearch-setup-passwords命令设置密码
./elasticsearch-setup-passwords interactive
注:改错误先开启X-Pack安全功能
进入容器内
编辑Elasticsearch的配置文件elasticsearch.yml
vi /usr/share/elasticsearch/config/elasticsearch.yml
在elasticsearch.yml文件中,添加以下配置来启用X-Pack安全功能:
xpack.security.enabled: true
#此项不可更改,当启用安全设置后,此项必须为true
xpack.security.transport.ssl.enabled: true
重新启动Elasticsearch容器,以使配置更改生效。
Kibana
拉取镜像
docker pull kibana:7.10.1
启动容器
ocker run --link elasticsearch:elasticsearch -p 5601:5601 --name kibana -e ELASTICSEARCH_USERNAME=elastic -e ELASTICSEARCH_PASSWORD=password -d kibana:7.10.1
在 Docker 的 --link 选项中,elasticsearch:elasticsearch 的格式是 name:alias。
第一个 elasticsearch(name)是你想要连接的容器的名称,应该和你正在运行的 Elasticsearch 容器的名称匹配。
第二个 elasticsearch(alias)是在新启动的容器内部用于引用链接容器的别名。也就是说,新的 Kibana 容器可以通过这个别名(在这种情况下也是 elasticsearch)访问到 Elasticsearch 容器。
例如,如果你的 Elasticsearch 容器的名称是 my_elasticsearch,并且你希望在 Kibana 容器内部通过 es 来引用它,你可以使用以下命令:
docker run --link my_elasticsearch:es -p 5601:5601 -d kibana:tag
在这个例子中,Kibana 将会尝试连接到 http://es:9200 来访问 Elasticsearch。
登录
访问 ip:5601