这两天在学习使用docker搭建漏洞环境,期间遇到了许多坑,记录一下。
虚拟机:Ubuntu 16.04
首先配置网络,一般安装好系统默认自动获取IP地址,所以不用管,保证网络可通就好。
然后是修改apt源,vim /etc/apt/source.list,整个替换为一下内容:
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
apt-get update更新软件源。
docker安装参考:https://help.aliyun.com/document_detail/60742.html
docker镜像加速参考:https://help.aliyun.com/document_detail/60750.html?spm=a2c4g.11186623.6.549.112a4685NiaOe9
https://blog.csdn.net/nero_claudius/article/details/84778710
使用apt安装一些允许通过https才能使用的软件包。
sudo apt install apt-transport-https ca-certificates curl software-properties-common
可能会出现如下问题:
提示依赖版本不匹配,经参考:https://blog.csdn.net/yumi94/article/details/51264893,
成功解决问题,即执行apt-get remove libcurl4,卸载libcurl3即可。
然后再重新安装curl,执行:apt-get install curl,
重新执行:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
如果没有报错,说明安装成功。
继续添加官方Docker存储库的GPG秘钥到系统中
OK表示添加成功。
将Docker存储库添加到APT源:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
使用新添加的repo源中的Docker包更新包数据库:apt update
成功获取到docker的软件源,确保从Docker Repo安装而不是默认的Ubuntu repo,
apt-cache policy docker-ce
虽然docker的版本可能不同,不过会看到 类似这样的输出:
最后,安装Docker。
apt install docker-ce
安装完成后,检查是否正在运行:
systemctl status docker
如果是上图所示状态,表明该服务证处于工作状态,按q可推出。
因为后面要用到vulhub,所以还需要安装docker-compose,
执行apt install docker-compose不能安装,经查找验证后,有两种方式安装:
https://www.jianshu.com/p/5ba9f9159696。
第一种:下载源码安装
curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version # 查看版本号,测试是否安装成功。
第二种:通过pip安装docker-compose
安装python-pip,我这里使用脚本安装,不知道为什么我的apt不能安装pip。
curl https://bootstrap.pypa.io/get-pip.py > get-pip.py
python get-pip.py
使用pip安装docker-compose
安装完成后,执行docker-compose version,如下图所示,表示安装成功
下载vulhub源码:git clone https://github.com/vulhub/vulhub.git
进入vulhub文件夹,可以看到有许多环境可供使用。
随便进入一个文件夹,执行
docker-compose build
docker-compose up -d
即可成功搭建漏洞环境。