ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Ubuntu基于docker进行渗透测试环境的快速搭建

2026/8/7 7:31:33 拓冰建站 浏览量
Ubuntu基于docker进行渗透测试环境的快速搭建

首先什么是docker?

Docker 是一种容器化技术,它可以将应用程序及其依赖项打包成一个独立的容器,从而实现应用的快速部署、隔离运行和资源高效利用;

安装docker

在命令栏输入下面代码下载docker; 

apt-get install docker.io docker-compose

运行后如果报如下图的错误,表明在安装 docker-compose 时,系统无法满足对 python3-compose 包的依赖要求。这是 Ubuntu 系统中常见的包依赖问题。

通常可以通过以下方法解决:

通过官方渠道下载最新的 Docker Compose 二进制文件,避免依赖问题:

1)下载最新版本的docker:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2)添加可执行权限

sudo chmod +x /usr/local/bin/docker-compose

3)验证安装,验证是否成功安装

docker-compose --version

 若是输出这样的信息则证明安装成功

docker改变镜像源

国外的镜像源不让访问,所以我们可以更改为国内的镜像源:阿里云镜像源

  • 获取阿里云专属加速地址

    1. 登录阿里云容器镜像服务

    2. 找到镜像加速器 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

    3. 复制系统分配的专属地址

 

 配置 Docker Daemon:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
EOF

注意:将https://xxxxxx.mirror.aliyuncs.com替换为你在阿里云获取的专属地址

重启一下Docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

最后检查一下Docker服务是否正常运行

docker info

如果 docker改变镜像源的方法不行,仍无法拉取镜像则可以考虑另一中方法:科学上网(如下);

科学上网:docker设置代理

科学上网:配置docker的代理

设置docker代理:创建文件夹以及对应的文件

#创建配置目录
#如果目录不存在,使用以下命令创建:
sudo mkdir -p /etc/systemd/system/docker.service.d#创建代理配置文件
#使用 nano 或 vim 创建并编辑 http-proxy.conf 文件:
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf

在文件中添加以下内容(替换为你的代理服务器地址和端口):

按 i 键进行插入:

[Service]Environment="HTTP_PROXY=http://代理服务器IP:代理端口"Environment="HTTPS_PROXY=http://代理服务器IP:代理端口"Environment="NO_PROXY=localhost,127.0.0.1,.example.com"  # 不需要代理的地址

 然后保存内容:按Esc,之后输入:wq保存退出;

重新加载 systemd 配置并重启 Docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

验证配置是否生效

docker info | grep -i proxy

如果输出类似以下内容,则配置成功:

 HTTP Proxy: http://192.168.1.111:7897HTTPS Proxy: http://192.168.1.111:7897No Proxy: localhost,127.0.0.1,.example.com

 开始尝试拉取镜像:

docker pull nginx

 若输出以下信息则说明镜像拉取成功,如果没有成功则可能是 代理设置 或 网络限制 等问题;

root@xuehan-VMware-Virtual-Platform:~# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
3da95a905ed5: Pull complete 
6c8e51cf0087: Pull complete 
9bbbd7ee45b7: Pull complete 
48670a58a68f: Pull complete 
ce7132063a56: Pull complete 
23e05839d684: Pull complete 
ee95256df030: Pull complete 
Digest: sha256:93230cd54060f497430c7a120e2347894846a81b6a5dd2110f7362c5423b4abc
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

 接下来可以输入下面代码来查看本地镜像

docker images

会显示刚刚拉取的 nginx 镜像信息(仓库名、标签、ID、大小等) 

启动 nginx 容器

docker run -d -p 80:80 9592f5595f2b
  • -d:后台运行容器。
  • -p 80:80:将主机的 80 端口映射到容器的 80 端口(nginx 默认监听 80 端口)。

 查看一下docker进程:

docker ps

 

vulhub靶场漏洞搭建

cd  / git clone --depth 1 https://github.com/vulhub/vulhub.git#克隆后生成一个文件夹,进入文件夹后,里面有各种漏洞
ls
cd vulhub#例如:选择一个webmin的漏洞进入;
#进入后会看到一个漏洞的一个编号了,使用cd进入编号;进入后会看到一个docker-compose.yml的后缀文件;
#vim 可看到映射的进程号; 
vim docker-compose.yml#使用命令:
docker-compose up -d #启动这一个文件;#在网站上输入(https://ip地址:进程号)即可访问页面;