Docker搭建Vulhub遇见的问题及解决方案
原本想用docker复现一下vul
的漏洞。
装docker过程中遇到了很多问题,
昨天熬夜到凌晨三点都没弄完。
中午又找了找原因,终于全部解决了,
小结一下。
镜像
去官方下载了centos 8
的镜像,
https://www.centos.org/
在vmware中安装centos系统
参考https://blog.csdn.net/babyxue/article/details/80970526
在安装过程中遇到第一个问题,卡在安装界面
通过百度和尝试,
发现在设置里的CD/DVD默认路径
错误,
修改为centos 8镜像的路径即可。
尝试一键安装docker 失败
运行命令时,显示没有这个命令,
我尝试去掉了| sh,发现回显报错了很多,最后一个error,失败了。
经了解得知| sh是linux中运行shell的命令,是shell的解释器
这里可以理解成sh 执行了curl下载的内容
尝试下载到主机上再拖入centos系统 失败
在我docker下载完成后,发现将docker没办法拖入centos系统
因为我还没有安装vmware tools
尝试安装wmare tools
参考https://jingyan.baidu.com/article/af9f5a2df3bce003150a4559.html
在安装过程中发现没有root
权限,几经周折,才得以解决。
安装docker-compose
解压docker后,还要安装docker-compose。
Docker-compose
用于组合服务与内网。
有部分环境涉及到多个容器,且不同环境开启的端口、目录也不相同,
所以Vulhub选择使用docker-compose
做环境一键化管理工具。
用户不再需要学习docker命令的各种参数与用法,
只需要简单地执行 docker-compose up -d
即可启动容器。
由于centos 8并没有自带pip
(自带了python3)
而安装docker-compose需要pip,所以目标又转向了pip的安装
安装完pip后就可以进行docker-compose的安装了。
下载Vulhub
安装完成docker
和docker-compose
后,拉取Vulhub到本地任意目录即可
意外发生,无法启动docker
下载完Vulhub后我发现竟然没法打开docker
查找了好久好久的资料,昨天晚上睡前都没解决。凌晨三点实在熬不住了。
今天起来又好好看了看报错,
发现了问题所在,一大长条的报错中有这样一句话
即CentOS 8中安装的Docker
和Podman
发生冲突
我又去查阅Podman
两种解决办法
第一种 删除Podman
查看是否安装 Podman
删除Podman
第二种尝试在命令行中添加 --allowerasing
来替换冲突的软件包 或 --skip-broken
来跳过无法安装的软件包 或 --nobest
来不只使用最佳选择的软件包
我这里仅采用了第一种方法,解决了docker问题。
启动docker
启动
查看
漏洞靶场的编译和运行:
docker-compose up -d
运行后,会自动查找当前目录下的配置文件。
如果配置文件中包含的环境均已经存在,则不会再次编译;
如果配置文件中包含的环境不存在,则会自动进行编译。
所以,其实 docker-compose up -d
命令是包含了 docker-compose build
的。
如果更新了配置文件,你可以手工执行 docker-compose build
来重新编译靶场环境。
关闭docker
关闭正在运行的容器
删除所有相关容器
移除NAT(docker-compose在运行的时候会创建一个NAT网段)
但不会移除编译好的漏洞镜像,下次再执行 docker-compose up -d
命令,就不需要再次编译相关镜像了。
__EOF__

本文链接:https://www.cnblogs.com/Y0uhe/p/15369164.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix