目录

一、安装docker

配置镜像源

安装docker

安装docker-compose

二、使用docker搭建DVWA靶场

使用docker搜索DVWA靶场镜像

​编辑使用docker拉取指定镜像

查看本地镜像信息

运行镜像,并且创建对应容器

查看创建的容器id和映射端口

与容器进行交互

查看本机ip

浏览器访问本机ip:端口,出现以下界面则搭建成

三、使用docker搭建pikachu靶场

查找镜像

拉取镜像

运行镜像,并且创建对应容器

访问ip:端口,出现如下界面,表示搭建成功

附件

附件1: 解决Ubuntu系统中GitHub下载速度慢的问题

附件2:docker run命令解释

附件3:解决拉取镜像问题


前置条件:使用virtualBox创建Ubuntu22.04虚拟机

  • 一、安装docker

  • 配置镜像源

备份当前源列表:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

编辑源列表问文件:

sudo vim /etc/apt/sources.list

添加或删除国内镜像源地址,以阿里云为例:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

注意:focal是Ubuntu 20.04的代号,根据你的Ubuntu版本,可能需要替换为bionic(Ubuntu 18.04)、xenial(Ubuntu 16.04)或其他代号。

更新软件包列表:

sudo apt update

安装docker

sudo apt install docker.io

#随后查看docker是否安装成功

sudo docker version

安装docker-compose

#先进行更新软件包

sudo apt update

#安装curl

sudo apt install curl

#下载docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-

compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

注意:解决Ubuntu系统中GitHub下载速度慢的问题,可以通过host修改,具体方式详见附件1.

#给文件执行权限

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

换源:

  • 创建文件

vim /etc/docker/daemon.json

  • 添加镜像地址

{

    "registry-mirrors": [

        "https://registry.docker-cn.com",

        "http://hub-mirror.c.163.com",

        "https://docker.mirrors.ustc.edu.cn",

        "https://kfwkfulq.mirror.aliyuncs.com"

    ]

}

   注意:有时候地址会无法访问,可以自行访问试一下,如果不行,可以参考https://blog.csdn.net/u014390502/article/details/143472743 这个网址里的镜像.

  • 重启docker

 sudo service docker restart

  • 查看是否生效

sudo docker info | grep Mirrors -A 4

二、使用docker搭建DVWA靶场

使用docker搜索DVWA靶场镜像

docker search dvwa

会得到以下列表相关镜像的列表,但是目前不能直接search,所以可以先在https://blog.csdn.net/u014390502/article/details/143472743这个网址使用某个可以访问的镜像网站搜索需要的镜像,然后再进行pull,如:Docker Hub 镜像加速服务,搜索dvwa,出现:

使用docker拉取指定镜像


docker pull citizenstig/dvwa

查看本地镜像信息

docker images

运行镜像,并且创建对应容器

docker run -dt --name dvwa -p 8999:80 --rm citizenstig/dvwa

参数解释详见附件2.

查看创建的容器id和映射端口

docker ps -s

与容器进行交互

docker exec -it dvwa /bin/bash

查看本机ip

hostname -I

或者 ip a

浏览器访问本机ip:端口,出现以下界面则搭建成

点击下面的“Create/Reset Database”,默认登录账号密码分别为admin、password

三、使用docker搭建pikachu靶场

查找镜像

使用https://docker-0.unsee.tech/ 查找pikachu镜像,得到如图所示:

  1. 拉取镜像

docker pull area39/pikachu

过程中可能出现如下问题:

Using default tag: latest

Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

解决方式详见附件3.

运行镜像,并且创建对应容器

docker run -dt --name pikachu -p 3306:80 --rm area39/pikachu

访问ip:端口,出现如下界面,表示搭建成功

附件

附件1: 解决Ubuntu系统中GitHub下载速度慢的问题

  1. 查询速度快的IP地址

http://tool.chinaz.com/dns 中查询下面域名:

github.com

把TTL值最小的IP地址记录下来

      2. 修改HOST文件

进入终端命令行模式,输入sudo gedit /etc/hosts

在文件最后添加相应的IP和域名。如下:记录更换 你查询的IP

192.30.253.112 github.com

      3. 更新DNS缓存

sudo apt-get install nscd

sudo /etc/init.d/nscd restart

附件2:docker run命令解释

docker run:这是Docker中用于从镜像启动新容器的命令。

-dt:这个选项实际上是两个选项的组合,-d 和 -t,但在这里-t(分配一个伪终端或终端)通常与交互式容器一起使用,而-d(在后台运行容器,并打印容器ID)是这里的主要用途。不过,由于-t通常与-i(即使没有附加也保持STDIN打开)一起使用来创建交互式会话,而这里只单独使用了-d,所以-t在这里实际上是多余的,可能是一个误打或者习惯用法。正确的后台运行选项应该只是-d。

--name dvwa:这个选项允许你为即将创建的容器指定一个名称,这里是dvwa。这样,你就可以通过名称而不是容器ID来引用和操作容器了。

-p 8999:80:这个选项用于将容器内的端口映射到宿主机的端口上。这里,容器内的80端口(Web服务器通常监听的端口)被映射到宿主机的8999端口。这样,你就可以通过访问宿主机的8999端口来访问容器内的Web服务了。

--rm:这个选项告诉Docker,在容器停止后自动删除它。这有助于避免在Docker主机上积累大量不再需要的容器,从而节省空间。

citizenstig/dvwa:这是要从中启动容器的Docker镜像的名称。

附件3:解决拉取镜像问题

Using default tag: latest

Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

解决拉取镜像报Error response from daemon: Get “https://registry-1.docker.io/v2/“: net/h_docker pull redis using default tag: latest error -CSDN博客

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐