接上~
這一節(jié)啥箭,我們要構(gòu)建一個(gè)Elasticsearch的鏡像,沒錯(cuò)治宣,就是下面這個(gè)貨急侥。
Elasticsearch
下載
去官網(wǎng)下載一個(gè)Elasticsearch,傳送門:https://www.elastic.co/downloads
下載tar包侮邀,解壓到tools目錄下坏怪,修改elasticsearch-5.4.0-->config文件夾下elasticsearch.yml
文件中
# 這樣配置才可以通過其它主機(jī)訪問
network.host: 0.0.0.0
# 日志存放在掛載的目錄
path.logs: /opt/product/data/logs
如果需要安裝head訪問,則需要添加下面兩個(gè)參數(shù)绊茧,允許跨域訪問
http.cors.enabled: true
http.cors.allow-origin: "*"
其它參數(shù)稍后研究铝宵。
Dockerfile
FROM elkbase:v1.0
MAINTAINER Luomeng
VOLUME [ "/opt/product/data/" ]
ADD ./elasticsearch-5.4.0 /opt/product/elasticsearch-5.4.0
ADD init.sh /root/
RUN useradd elk && chown -R elk:elk /opt/product/elasticsearch-5.4.0
EXPOSE 9200
EXPOSE 9300
RUN chmod +x /root/init.sh
ENTRYPOINT ["/root/init.sh"]
CMD ["/usr/sbin/init"]
init.sh
用于在容器啟動(dòng)后執(zhí)行Elasticsearch啟動(dòng)文件
#!/bin/bash
echo "I am in!!!"
su - elk <<!
export JAVA_HOME=/opt/product/tools/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH
/opt/product/elasticsearch-5.4.0/bin/elasticsearch
構(gòu)建鏡像
docker build -t elasticsearch:v1.0 .
#注意最后有一個(gè)“.”
啟動(dòng)容器
docker run --privileged -ti -v /Users/Luomeng/DockerProject/Elasticsearch/data:/opt/product/data -p 9200:9200 -p 9300:9300 elasticsearch:v1.0 /bin/bash
查看啟動(dòng)日志,沒問題后可以用以下命令后臺(tái)啟動(dòng):
docker run --privileged --restart=always -d -ti -v /Users/Luomeng/DockerProject/Elasticsearch/data:/opt/product/data -p 9200:9200 -p 9300:9300 elasticsearch:v1.0 /bin/bash
Test
瀏覽器中輸入http://ip:9200
如果出現(xiàn)json串华畏,說明安裝成功鹏秋。
官方安裝方式也有docker安裝:https://www.elastic.co/guide/en/elasticsearch/reference/5.0/docker.html
有興趣的同學(xué)可以研究下。