一、拉取镜像
#拉取elasticsearch镜像
docker pull elasticsearch:7.10.1
#拉取kibana镜像
docker pull kibana:7.10.1
二、创建挂载所用目录
#elasticsearch所用挂载目录
mkdir /mydata/elasticsearch/config
mkdir /mydata/elasticsearch/data
mkdir /mydata/elasticsearch/logs
mkdir /mydata/elasticsearch/plugins
#并修改权限
chmod 777 -R /mydata/elasticsearch
#kibana所用挂载目录
mkdir /mydata/kibana/config
三、创建config文件
cat > /mydata/elasticsearch/config/elasticsearch.yml <<EOF
http.host: 0.0.0.0
#开启跨域
http.cors.enabled: true
http.cors.allow-origin: '*'
http.cors.allow-headers: Authorization
#开启安全控制
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
EOF
先启动es容器 进入容器
docker exec -it es /bin/bash
手动设置密码
elasticsearch-setup-passwords interactive
123456
cat > /mydata/kibana/config/kibana.yml <<EOF
server.name: kibana
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://101.43.120.132:9200"]
elasticsearch.username: "elastic"
elasticsearch.password: "123456"
i18n.locale: "zh-CN"
EOF
四、启动容器
docker run -d \
--name es \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-m 600m \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.10.1
docker run -d \
--name kibana \
-v /mydata/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
-p 5601:5601 \
kibana:7.10.1
五、docker-compose方式启动
使用此方式的前提是已经安装docker-compose
在/mydata/elasticsearch 目录下新建如下文件docker-compose.yml
version: '3'
services:
elasticsearch:
image: elasticsearch:7.10.1
container_name: elasticsearch
restart: always
ports:
- "9200:9200"
- "9300:9300"
volumes:
- /mydata/elasticsearch/data:/usr/share/elasticsearch/data
- /mydata/elasticsearch/logs:/usr/share/elasticsearch/logs
- /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins
- /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
discovery.type: single-node
ES_JAVA_OPTS: "-Xms512m -Xmx512m"
hostname: myElasticsearch
kibana:
image: kibana:7.10.1
container_name: kibana
restart: always
ports:
- "5601:5601"
volumes:
- /mydata/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
hostname: myKibana
并执行如下命令启动容器
docker-compose up -d