封装一个带有tcpdump工具的镜像,在容器中使用tcp抓包

之前的一篇文章:https://blog.csdn.net/Jerry_Pan1990/article/details/102940349 也写过这个功能,但是当时因为刚刚接触,因此走了一点弯路,所以在这里再水一篇。

之前的文章中,使用的是源码包进行安装,所以两种安装方式在这里都进行一下介绍:

方法一(推荐): 使用 apt-get 进行安装(我们的tomcat、nginx等基础镜像都是基于ubuntu的,如果你使用redhat可以使用yum工具,原理是一样的)

Dockerfile如下:

FROM xxxxxxx/base/tomcat:7
MAINTAINER [email protected]
#复制apt源到ect配置文件下并覆盖
COPY sources.list /etc/apt/
#tomcat基础镜像这个目录下还有原始路径,删掉
RUN rm -rf /etc/apt/sources.list.d/stretch.list
#由下面两句是为了安装阿里源的key,如果不加上的话,进行update时会报错
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
#更新及安装
RUN apt-get update
RUN apt-get install curl --assume-yes
RUN apt-get install net-tools --assume-yes
RUN apt-get install tcpdump --assume-yes

 sources.list 是更新 apt 源为阿里源,因为默认的源速度基本为零,你会崩溃,如下:

deb http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe

 将这两个文件放到同一个文件夹,运行 docker build -t 你的镜像标签 . 即可封装自己的tcpdump镜像。

这样你就能获取一个有tcpdump工具的镜像了。

 

方法二:使用源码进行安装,说实话,因为如果要进行源码安装,需要首先安装编译环境,这个步骤太费时费力,至少我再tomcat基础镜像包封装时,缺失了两三种编译工具,郁闷。 有兴趣了解的同学,可以参考之前nginx安装tcpdump的连接:

https://blog.csdn.net/Jerry_Pan1990/article/details/102940349

 

你可能感兴趣的:(docker)