docker搭建靶机

一,docker

(1)基础概念

沙箱机制

  • 1.沙箱是一个虚拟系统程序,沙箱提供的环境相对于每一个运行的程序都是独立的,而且不会对现有的系统产生影响.
  • 2.沙箱具有非常良好的独立性、隔离性,所以能够搭建一些具有高风险的软件进行测试.

docker
一个开源的应用容器引擎,基于GO语言

  • 作用:开发者打包他们的应用和依赖包到一个轻量级,可移植的容器中
  • 优点
  • ①消耗点
  • ②启动快

(2)安装docker

#先下载python(最好先换源)
sudo apt install python3

#安装pip
sudo apt install python3-pip

#安装docker
sudo apt-get install docker.io
#创建软连接
sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
#下载docker-compose
sudo apt  install docker-compose

#开启docker
sudo systemctl start docker.service
sudo systemctl start docker.socket


(3)docker命令

3.1 关于镜像的操作

镜像的搜索

docker search XXXX
在这里插入图片描述

镜像下载

docker pull XXXX

在这里插入图片描述

查看本地镜像

docker images
在这里插入图片描述

删除本地镜像

docker rmi 镜像名

3.2 容器的基础操作

创建容器: docker run -itd --nane=指定容器的名称 使用的镜像名

-i:表示以交互模式运行容器
-d:表示后台运行容器,并返回容器ID
-t:为容器重新分配一个伪输入终端;

在这里插入图片描述

查看运行的容器

sudo docker ps
在这里插入图片描述

注意 同一个镜像可以assign到多个容器上


停止容器

docker stop 容器名/容器ID

重启容器

docker restart 容器名/容器ID

删除容器

docker rm 容器名/容器ID


3.3 容器的保存

进入容器

docker exec -it 容器名/容器ID /bin/bash

在这里插入图片描述

保存
对通过同一镜像创建的不同容器,操作之后,可以保存为一个新的镜像


3.4 对容器操作

------端口映射

  • 在这里插入图片描述

创建一个有端口映射的容器
docker run -itd -p 宿主机端口:容器端口 镜像名

在这里插入图片描述

访问宿主机的90端口就是nginx喽

  • 在这里插入图片描述

(4)使用docker-compose 编排镜像

docker 提供了一个命令行工具 docker-compose 帮助完成镜像的编排, 要使用 docker-compose , 需要先编写一个 docker-compose.yml 文件, yaml 是一种常用配置文件格

yml :是一个可读性高,用来表达数据序列的格式
文章


(5)更换docker源

由于本来的源太慢了。。。。。,使用阿里的加速源。【容器镜像服务】

  • 登录之后,提供一个URL

配置镜像加速器
针对Docker客户端版本大于 1.10.0 的用户

通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo vim  /etc/docker/daemon.json
{
  "registry-mirrors": ["https://XXXXX.mirror.aliyuncs.com"]
}


sudo systemctl daemon-reload
sudo systemctl restart docker

二,搭建靶机

两个开源的项目

vulhub

VulApps

【vulhub靶机说明】

# 进入某一个漏洞/环境的目录
cd flask/ssti

# 自动化编译环境
docker-compose build

# 启动整个环境
docker-compose up -d

#每个环境目录下都有相应的说明文件,请阅读该文件,进行漏洞/环境测试。

#测试完成后,删除整个环境
docker-compose down -v


【实列】
进入要搭建的环境的目录查看yml文件

在这里插入图片描述

使用docker-compose build 编译环境,然后启动环境

在这里插入图片描述

yang@yang-machine:~/baji/vulhub-master/joomla/CVE-2017-8917$ sudo docker-compose up -d
Pulling mysql (mysql:5)...
5: Pulling from library/mysql
8f91359f1fff: Pull complete
6bbb1c853362: Pull complete
e6e554c0af6f: Pull complete
f391c1a77330: Pull complete
414a8a88eabc: Pull complete
fee78658f4dd: Pull complete
9568f6bff01b: Pull complete
76041efb6f83: Pull complete
ea54dbd83183: Pull complete
566857d8f022: Pull complete
01c09495c6e7: Pull complete
Digest: sha256:f7985e36c668bb862a0e506f4ef9acdd1254cdf690469816f99633898895f7fa
Status: Downloaded newer image for mysql:5
Pulling web (vulhub/joomla:3.7.0)...
3.7.0: Pulling from vulhub/joomla
5e6ec7f28fb7: Pull complete
cf165947b5b7: Pull complete
7bd37682846d: Pull complete
99daf8e838e1: Pull complete
ae320713efba: Pull complete
ebcb99c48d8c: Pull complete
9867e71b4ab6: Pull complete
936eb418164a: Pull complete
bc298e7adaf7: Pull complete
ccd61b587bcd: Pull complete
b2d4b347f67c: Pull complete
56e9dde34152: Pull complete
9ad99b17eb78: Pull complete
f0b49b0a34a7: Pull complete
bc8d2ddd1ca2: Pull complete
cc87e0e6b730: Pull complete
80c164075256: Pull complete
1bb70ad75826: Pull complete
b30d9e1dab0d: Pull complete
c7e4f22b689f: Pull complete
5093ee2098f3: Pull complete
Digest: sha256:8b38262a5bfd3e8f56415e369c0970a736e31d1138fb9fe0343f88435d43574d
Status: Downloaded newer image for vulhub/joomla:3.7.0
Creating cve20178917_mysql_1 ... 
Creating cve20178917_mysql_1 ... done
Creating cve20178917_web_1 ... 
Creating cve20178917_web_1 ... done
yang@yang-machine:~/baji/vulhub-master/joomla/CVE-2017-8917$ 

查看是否成功启动
在这里插入图片描述

访问测试是否成功
在这里插入图片描述

测试完成后,删除整个环境

docker-compose down -v

sudo docker rmi 镜像ID

发布了49 篇原创文章 · 获赞 33 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Z_Grant/article/details/101076012
今日推荐