文章目录
前言
近期自己的nessus在windows平台上始终装不上,不是插件安装不上就是,证书配不上,一直出现问题。在互联网上寻找各种解决方案。有很多的教程,可能因为时间比较长,没几个靠谱的。看到有用docker搭建的,想到可以push镜像,非常的方便。成功界面如下:
nessus安装包、插件、证书下载:
百度云:https://pan.baidu.com/s/1nl3nyr-dyjRv8dMLnzezjw 提取码: yghn
一、docker制作自己镜像的方法
首先制作docker镜像方法有2种
- dockerfile构建
- commit备份构建
创建详解
dockerfile
dockerfile常用的参数(只讲述本文中用到的几个)
- FROM ubuntu:18.04 #这里就是docker镜像基于ubuntu:18.04系统
- ADD ./ /tmp #类似于cp命令,将当前文件夹下所有文件拷贝到tmp文件夹中
- RUN apt-get update #shell命令,和cmd不同,run是构建的时候运行的
- CMD service nessusd restart #是在容器运行的时候执行的系统命令
我的dockerfile
FROM ubuntu:18.04
ADD ./docker tmp/
RUN sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list \
&& sed -i s/security.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list \
&& apt-get update
RUN apt-get install -y apt-utils tzdata \
&& dpkg -i /tmp/Nessus-8.15.2-debian6_amd64.deb \
&& rm -r /tmp/Nessus-8.15.2-debian6_amd64.deb \
&& cd /opt/nessus/sbin \
&& ./nessuscli update /tmp/all-2.0-20211012.tar.gz \
&& service nessusd start
RUN service nessusd stop \
&& cp -r /tmp/plugin_feed_info.inc /opt/nessus/var/nessus \
&& cp -r /tmp/plugin_feed_info.inc /opt/nessus/var/nessus/plugins \
&& service nessusd start \
&& cd /opt/nessus/sbin \
&& ./nessuscli update /tmp/all-2.0-20211012.tar.gz
EXPOSE 8834
CMD service nessusd restart && tail -f /dev/null
build 构建镜像
docker build -t <name> .
注意 :最后有一个.
commit
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
例:docker commit -p <容器ID> name
这就是docker commit创建
二、docker瘦身
docker,方便就是有强大的dockerhub,镜像上传和下载,那么镜像的大小就很影响使用体验。因为docker镜像是多层存储,每一层是在前一层的基础上进行的修改;而容器同样也是多层存储,是在以镜像为基础层,在其基础上加一层作为容器运行时的存储层。
这里我使用了dive查看工具,分析之后把原来3G的镜像,压缩成2G
使用率也提高了
三、nessus安装
v1版本
优点:体积小dockerhub上1G不到,下载到本地2G
缺点:在本地需要运行,安装插件
docker中安装pull
docker pull keytime211/nessus8.15.2:v1
RUN
docker run -d -p 8834:8834 keytime211/nessus8.15.2:v1
安装插件:都以自动化方式安装,只需要设置账号密码等待即可,插件安装完成之后可以自己commit打包镜像,方便自己下次使用
等待安装完成登录即可使用
v2版本
优点:无需等待,run起来直接可以用
缺点:镜像大,下载时间长
docker中安装直接pull
docker pull keytime211/nessus8.15.2:v2
RUN
docker run -d -p 8834:8834 keytime211/nessus8.15.2:v2
账号密码已经设置好,可以自行更改
user:root
passwd:123123
四、总结
还有很多不足,如有写错的地方,还请指出,谢谢大家!!!
dockerfile写的没有很细节,只说了用到的几个指令,还有COPY WORKDIR 等等,没有写。感觉V2版本还可以优化。如有疑问,请留言。继续加油!!!
nessus安装参考链接:https://www.ddosi.org/nessus-pro/