接上構(gòu)建ELK基礎(chǔ)鏡像
了解完故事背景坏快,現(xiàn)在我要?jiǎng)邮珠_(kāi)始搭建ELK平臺(tái)了铅檩。
因?yàn)镋LK需要用到j(luò)dk的環(huán)境,所以決定做一個(gè)基礎(chǔ)鏡像莽鸿。
參考自:http://www.reibang.com/p/460a307adebb
1.首先建立目錄結(jié)構(gòu)昧旨,我是在本地搭建的。
解釋:因?yàn)镋lasticsearch需要Java 8以上的版本祥得,所以在oracle官網(wǎng)下載最新的jdk兔沃,解壓到tools目錄下。
Dockerfile文件內(nèi)容如下:
FROM centos:latest
MAINTAINER Luomeng
VOLUME [ "/opt/product/data/" ]
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN /bin/echo -e "ZONE="Asia/Shanghai"\nUTC=false\nRTC=false" > /etc/sysconfig/clock
RUN mkdir /opt/product/tools/
ADD ./tools /opt/product/tools/
ENV JAVA_HOME /opt/product/tools/jdk1.8.0_131
ENV JRE_HOME /opt/product/tools/jdk1.8.0_131/jre
ENV CLASS_PATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
ENV PATH $PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CMD ["/usr/sbin/init"]
?在命令行级及,cd到elkbase目錄乒疏,執(zhí)行docker build -t elkbase:v1.0 ./
,如果看到最后輸出Successfully built 鏡像ID
饮焦,表示build成功了怕吴,運(yùn)行docker images
應(yīng)該就可以看到名稱為elkbase的image。
?我要啟動(dòng)一個(gè)elkbase的容器追驴,驗(yàn)證一下Java的環(huán)境是否準(zhǔn)備成功。
運(yùn)行:docker run -i -t elkbase:v1.0 /bin/bash
(1)-i
選項(xiàng):表示啟動(dòng)容器后疏之,打開(kāi)標(biāo)準(zhǔn)收入設(shè)備(STDIN)殿雪,可使用鍵盤進(jìn)行輸入。
(2)-t
選項(xiàng):表示啟動(dòng)容器后锋爪,分配一個(gè)偽終端(pseudo-TTY)丙曙,將與服務(wù)器建立一個(gè)會(huì)話。
(3)elkbase:v1.0
參數(shù):表示我們剛才通過(guò)build命令構(gòu)建時(shí)給鏡像命名的名字和版本號(hào)其骄。
(4)/bin/bash
參數(shù):表示運(yùn)行容器的bash應(yīng)用程序亏镰。
不出意外的話,會(huì)以root用戶進(jìn)入到基于centos系統(tǒng)構(gòu)建的elkbase鏡像生成的容器中拯爽,運(yùn)行java -version
索抓,查看是否安裝Java成功了。