1.简介
谈到docker不得不说的一个概念就是容器,对应的一个概念就是虚拟机,这两个概念经常放在一起做比较。
与虚拟机不同的是容器是直接运行在操作系统内核的之上的用户空间。容器的虚拟化是在操作系统层面的。
容器和虚拟机的对比
容器是建立在内核之上的
![d9f6b37b197a2d58f3320148e02363d9.png](https://i-blog.csdnimg.cn/blog_migrate/8985c33008c2fea9febff281a13f8e10.png)
虚拟机需要另搭建一套操作系统
![9de1cc6b3cd9f8cd847ac50e2ffd7016.png](https://i-blog.csdnimg.cn/blog_migrate/65673060bfec5c3b5e62ada1f634cfd4.png)
参考连接:
容器与虚拟机docs.microsoft.com![600eb2ab53a4d04b696b44db8b02eafa.png](https://i-blog.csdnimg.cn/blog_migrate/62265f9f9734840ad88ce1b9c74b3ba7.png)
2.docker安装
1. 更新apt源(ubuntu)
2. 添加dokcer官方的GPG key
| sudo apt-key add -
3. 添加docker镜像源,使用的X86_64/amd64平台。
4. 安装docker相关的软件包
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
5. 验证是否安装成功
运行下 hello-world,运行结果如下,表运行成功。
![5ff182b37518fe38184fc4cbd173b19d.png](https://i-blog.csdnimg.cn/blog_migrate/59d6aae0f33d6d3e07f0884a468f33a3.jpeg)
参考链接
Install Docker Engine on Ubuntudocs.docker.com![fd94bb7b400fc50e860ffb9aeefdf656.png](https://i-blog.csdnimg.cn/blog_migrate/ef9fd2de47ada99c62c78aa15584f007.png)
3.使用docker搭建一个dvwa靶场
1. 拉取dvwa镜像
docker pull vulnerables/web-dvwa
2. 运行这个镜像
docker run --rm -it -p 80:80 vulnerables/web-dvwa
访问80端口就可以了哈
4.使用Dockerfile创建DVWA靶场
项目地址:
docker-vulnerability-environmentgithub.com把项目克隆到本地
git clone https://github.com/MyKings/docker-vulnerability-environment.git
进入DVWA目录
cd docker-vulnerability-environment/DVWA
3.创建docker镜像
$ docker build -t dvwa .
创建docker容器
# 交互创建一个容器, 本容器 80 端口映射到宿主机的 8003 端口上,端口根据需要修改
$ docker run -it --name dvwa_vul -p 0.0.0.0:8003:80 dvwa /bin/bash
登录DVWA,第一次需要创建数据库
![11f484de180fdf0da8b5b316ccffa239.png](https://i-blog.csdnimg.cn/blog_migrate/da922c90ba19dc1a97477d7ea3ec3afc.jpeg)
登录DVWA 账号密码:admin/password
![1b28b9385b09f7b69b84fb46a154e0f3.png](https://i-blog.csdnimg.cn/blog_migrate/3197645b9427e9272520bc036f538e28.png)
搭建成功
![9d1824ba077b99792e2bb571f979e109.png](https://i-blog.csdnimg.cn/blog_migrate/408d1538e8aa61aedcbe067be47fdc9b.jpeg)