docker容器
一、docker容器是什么
软件的打包技术,就是将算乱的多个文件打包为一个整体,打包技术在没有docker容器之前,一直是有这种需求的,比如上节课我把我安 装的虚拟机给你们打包了,前面的这种打包方式是将整个虚拟机打包了,对吧,这样打包出来的体积太大了,而且如果你只是单纯的想要 一个安装好的程序,比如sqlserver数据库,不想自己安装,就想要个安装好的,按照之前的打包方式,太费事费力的,你打包个安装了 sqlserver数据库的虚拟机,光虚拟机本身的操作系统可能就占用了20个G,sqlserver本身可能也就1个G,这是不是就太不合适了,当然 我们自己不会或者不想安装sqlserver的时候,可以选择找个哥们帮你安装一下,但是如果100个人都找你安装,你是不是累死了,所以在 这种情况,容器技术就诞生了,容器技术中的依依者,就是docker,它的底层实现原理我们现在不用纠结。用它来打包出来的软件,体积 会非常小。比如如果在一个虚拟机上安装了nginx,那么这个虚拟机怎么也要1G以上,但是用docker打包的已经安装好的nginx,可能也 就100M左右,体积小很多。接下来我们感受一下docker的使用。后面我们可以将很多部署起来很繁琐的靶场环境都通过docker来打包。 所以现在网上也有很多使用docker跑起来的靶场,复用性非常好,别人打包好的,你直接拿来就用。而且docker有个东西叫做仓库,打 包的东西直接放在仓库里面,全世界都可以共享。docker是2013年诞生的。
docker打包出来的每个软件,称之为docker镜像。可以说整个IT领域,不管是哪个工种,都需要好好学习docker。
docker是CS架构的程序,客户端控制服务端来做各种事情。

二、docker的安装
centos用yum安装,kali用apt安装,kali属于debian系列的操作系统
CentOS7安装docker
1 | # centos7上面用yum安装 |
Kali安装docker
1 | #添加docker的gpg密钥,签名用的(连接docker仓库所需要的密钥) |
网络安全有一项工作叫做漏洞复现,有些软件、框架、webserver等等他们某些版本会有各种漏洞,官方看到之后肯定会修复升级,但是
某个使用了这些软件的公司可能并没有升级,那么就需要我们检测一下是否真的存在这个漏洞,不能直接再生产环境上去测试,需要在测
试环境或者开发环境或者自己搭建的环境中进行漏洞测试,这就是漏洞复现的工作。所以我们好多时候都需要自己来搭建相同版本的软件
环境来进行漏洞复现,搭建的环境的时候我们就可以使用docker,很方便。
1 | #用docker下载安装最新版本的nginx |
这里需要使用国内的镜像加速器
1 | #编辑配置文件 |
复制以下内容到文件里
1 | { |
保存重启docker服务
1 | sudo systemctl daemon-reload |
验证是否生效,执行 docker info,在输出中查看 Registry Mirrors 列表是否包含了你刚才配置的地址。
1 | #体验wordpress,需要启动两个docker镜像,一个数据的,一个代码程序,这个比较大,所以速度可能会慢一些 |
docker run首先检测本地是否已经有了软件镜像,如果没有,它会自动去下载镜像,然后运行,运行起来的镜像,我们称之为容器,可以理解为每个软件都安装在了一个自己的小空间里面。
docker 镜像 容器
镜像——>安装了某些特定程序的文件——>压缩文件
容器——>镜像运行起来之后,就叫做容器(而不叫进程)
三、镜像常用命令
1 | docker search |