新浪博客同步:http://blog.sina.com.cn/laomacanhu
Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。在渗透测试中我们经常想漏洞复现,可惜各种的环境又太麻烦,阿里云腾讯云买个服务器把,又没必要。
GitHub就提供了各种快速的漏洞环境。想利用它们就得装上docker环境。
附加:快速搭建各种漏洞环境(Various vulnerability environment) https://github.com/Medicean/VulApps
本人的虚拟机环境:Linux version 4.17.0-kali1-amd64 (devel@kali.org) (gcc version 7.3.0 (Debian 7.3.0-25)) #1 SMP Debian 4.17.8-1kali1 (2018-07-24)---看这日期就知道安装kali没多久,百度折腾很久才测试有效
1.删除原先的docker(默认没有)
apt-get purge docker.io
2.添加docker-ce的apt 源
apt-get update
apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.daocloud.io/docker/linux/ubuntu/gpg | sudo apt-key add -
3.修改/etc/lsb_release,使得更新源时将kali替换为ubuntu,可先用#将原先的注释掉或备份
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
4. sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.daocloud.io/docker/linux/ubuntu $(lsb_release -cs) stable"(记得这是一句话)
5.更新apt数据库
apt-get update
apt-cache policy docker-ce*
apt-get install docker-ce
6.apt-get install docker-ce可能会出现的问题,无问题直接跳过
可能会发生下面的提示:
无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
解决办法如下:
(1)终端输入 ps aux ,列出进程。找到含有apt-get的进程,直接sudo kill PID。(应该会kill把)
(2)强制解锁,命令
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
完成后重新apt-get install docker-ce
7.配置docker镜像加速
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://d1c9c786.m.daocloud.io
systemctl restart docke
附加:
用Hello World校验Docker的安装
docker run hello-world
如果出现Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
d1725b59e92d: Pull complete
不要慌,服务器从Docker Hub获取到最新的Hello World镜像,下载到本地。
再次输入docker run hello-world,回车:
Hello from Docker.
This message shows that your installation appears to be working correctly.
8.Error response from daemon: Get https://registry-1.docker.io/v2/: x509: certificate is valid for drivefca.com, www.drivefca.com, not registry-1.docker.io(20200403更新问题)
或者提示
vim /etc/docker/daemon.json(若没有自行创建)
写入:
{
"registry-mirrors": [
"http://hub-mirror.c.163.com"
],
"insecure-registries": [
"registry-1.docker.io"
]
}
最终重启一下docker:
systemctl daemon-reload
systemctl restart docker