构建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 系统)

posted @ 2016-12-09 11:34  人艰不拆_zmc  阅读(4093)  评论(0编辑  收藏  举报