docker pull docker.elastic.co/elasticsearch/elasticsearch:7.13.0 docker pull docker.elastic.co/kibana/kibana:7.13.0 mkdir -p /mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml chmod -R 777 /mydata/elasticsearch/ 保证权限 docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms64m -Xmx512m" \ -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d docker.elastic.co/elasticsearch/elasticsearch:7.13.0 以后再外面装好插件重启即可;
特别注意:
-e ES_JAVA_OPTS=“-Xms64m -Xmx256m” \ 测试环境下,设置 ES 的初始内存和最大内存,否则导
致过大启动不了 ES
这段代码是一系列Linux命令和Docker命令的组合,用于设置并运行Elasticsearch服务。下面是对每条命令的详细解释:
mkdir -p /mydata/elasticsearch/config
config的目录在/mydata/elasticsearch/路径下。-p参数确保即使父目录不存在时,也会创建父目录。mkdir -p /mydata/elasticsearch/data
data的目录在/mydata/elasticsearch/路径下,用于存储Elasticsearch的数据。echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
http.host: 0.0.0.0追加到elasticsearch.yml配置文件中。这表示Elasticsearch服务将监听所有网络接口上的HTTP请求。chmod -R 777 /mydata/elasticsearch/
/mydata/elasticsearch/目录及其所有子目录和文件的权限设置为777,即所有用户都可以读取、写入和执行。docker run ...
这是一条Docker命令,用于运行一个名为elasticsearch的容器实例。
--name elasticsearch: 给容器指定一个名称elasticsearch。
-p 9200:9200 -p 9300:9300: 将容器的9200和9300端口映射到宿主机的相应端口,9200是HTTP REST API端口,9300是节点间通信的端口。
-e "discovery.type=single-node": 设置环境变量,指定Elasticsearch运行在单节点模式,不加入集群。
-e ES_JAVA_OPTS="-Xms64m -Xmx512m": 设置Java虚拟机的初始和最大内存分配。
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml: 将宿主机的配置文件挂载到容器内的相应位置。
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data: 将宿主机的数据目录挂载到容器内,用于持久化存储Elasticsearch数据。
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins: 将宿主机的插件目录挂载到容器内,用于存放Elasticsearch插件。
-d docker.elastic.co/elasticsearch/elasticsearch:7.13.0: 指定要运行的Docker镜像及其版本,这里是Elasticsearch的官方镜像,版本7.13.0,-d参数表示以守护进程模式运行。
整个脚本的目的是设置一个Elasticsearch服务,配置其监听所有网络接口,并且通过Docker容器化运行,同时确保数据和配置的持久化存储。
在浏览器输入地址47.3.217.59:9200,有如下输出,说明安装成功。

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.13.0 docker pull docker.elastic.co/kibana/kibana:7.13.0 docker run --name kibana -e ELASTICSEARCH_HOSTS=http://172.22.29.149:9200 -p 5601:5601 -d docker.elastic.co/kibana/kibana:7.13.0 这条Docker命令是用于运行Kibana服务的。下面是对命令的详细解释:
docker run: Docker的运行命令,用于创建并启动一个新的容器。
--name kibana: 指定容器的名称为kibana。
-e ELASTICSEARCH_HOSTS=http://172.22.29.149:9200: 设置环境变量ELASTICSEARCH_HOSTS,指定Kibana连接的Elasticsearch服务器的地址和端口。这里指定的是http://172.22.29.149:9200,这是一个内网IP地址和Elasticsearch服务的默认端口9200。
-p 5601:5601: 将容器的5601端口映射到宿主机的5601端口,Kibana的Web界面默认运行在这个端口上。
-d: 以守护进程模式运行容器,即在后台运行。
docker.elastic.co/kibana/kibana:7.13.0: 指定要使用的Docker镜像及其版本,这里是Kibana的官方镜像,版本号为7.13.0。
这个命令的作用是启动一个Kibana容器实例,并配置它连接到指定的Elasticsearch服务器。用户可以通过访问宿主机的5601端口来访问Kibana的Web界面,进行数据的可视化和管理。如果因为网络原因无法解析提供的IP地址,可能需要检查网络连接或IP地址的合法性。如果用户需要进一步的帮助或者有其他问题,可以继续提问。
在浏览器输入47.3.217.59:5601/app/home#/,有如下显示,说明kibana安装成功。