構建Logstash+tomcat鏡像(讓logstash收集tomcat日志)


1、首先pull logstash鏡像作為父鏡像(logstash的Dockerfile在最下面):

2、構建my-logstash鏡像,使其在docker鏡像實例化時,可以使用自定義的logstash配置文件。

Dockerfile:

logstash.conf

構建my-logstash鏡像:build -t my-logstash .

3、運行my-logstash鏡像:docker run -it -d my-logstash

4、進入my-logstash鏡像:docker exec -it a7529cad79df  /bin/bash (假設容器id為a7529cad79df )

1、首先查看系統版本:cat /etc/issue     Debian GNU/Linux 8 \n \l

2、apt-get update,然后我又安裝了vim

3、然后安裝配置tomcat使其可以使用服務的方式運行.

首先 wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.39/bin/apache-tomcat-8.0.39.tar.gz

我將剛下載的tomcat移動到/usr/local目錄下,解壓,並重命名為tomcat。

4、創建一個tomcat用戶

查看提取 tomcat文件夾,這是屬於 “root” 用戶。一個好的做法是:我們應該創建一個新的用戶來運行Tomcat。在這    個例子中,我們將創建一個非登錄用戶“tomcat”,並設置Home目錄是 /usr/local/tomcat/temp。

useradd -s /sbin/nologin -d /usr/local/tomcat/temp tomcat

5、更改 /usr/local/tomcat文件夾的權限,以使新的 “tomcat” 用戶可以運行Tomcat

chmod -R 777 /usr/local/tomcat

chown -R tomcat:tomcat /usr/local/tomcat

6、/etc/init.d/tomcat

要運行Tomcat作為初始化服務,創建一個自定義腳本,並把它放在 /etc/init.d 文件夾。

6.1 創建一個腳本,並將其保存為/etc/init.d/tomcat

cat /etc/init.d/tomcat

 

     6.2 分配“執行”權限。

sudo chmod 777 /etc/init.d/tomcat

6.3 安裝腳本

update-rc.d tomcat8 defaults

6.4 測試它

service tomcat start

Tomcat started.

Starting tomcat…-

5、docker run時,同時啟動logstash與tomcat服務。

通過inspect my-logstash鏡像可以看到:

“Entrypoint”: [
“/docker-entrypoint.sh”
],

docker run時會運行/docker-entrypoint.sh腳本,所以我將service tomcat start放進了腳本里面,這樣dokcer實例化時,就可以同時啟動logstash與tomcat服務,這樣logstash就可以獲取到tomcat的日志信息了。

6、構建logstash-tomcat鏡像

docker commit a7529cad79df logstash-tomcat

logstash的Dockerfile(Debian8 系統)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM