0x01 Docker 简介
前段时间写了一份关于Dcoker_kali的文档,docker对我来说可以部署使用docker_kali,也可以部署我们渗透测试的靶场环境,如前段时间在我的msf系列课程中就介绍了,关于如何部署docker-s2-046靶机环境的内容。除此之外,我们还可以用来部署例如DVWA、WebGoat等靶场环境。之前的内容其实我也给大伙留了一部分坑在那,这次我打算更加具体详细的为大家介绍Docker_kali的安装使用步骤。
对Docker的重新认识
Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本! 使用 Docker,可以让应用的部署、测试和分发都变得前所未有的高效和轻松!
无论是应用开发者、运维人员、还是其他信息技术从业人员,都有必要认识和掌握 Docker,以在有限的时间内做更多有意义的事。
在安装前,先了解一些主要的概念:
Docker 在Linux上安装过程里,你的物理机器既是本地主机也是Docker的宿主机。在网络里,本地主机的意思是你的计算机。Docker的宿主机是托管这容器运行的计算机。
在一个标准的Linux安装中,Docker客户端、Docker Daemon和一些运行中的容器会直接寄托在你的本地主机上。这意味着你可以使用标准的本地地址和端口去访问容器。
为什么要使用 Docker?
作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。
更高效的利用系统资源
由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。
更快速的启动时间
传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。
一致的运行环境
开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环境不一致,导致有些 bug 并未在开发过程中被发现。而 Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现 “这段代码在我机器上没问题啊” 这类问题。
持续交付和部署
对开发和运维(DevOps)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。
使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、部署。开发人员可以通过 Dockerfile 来进行镜像构建,并结合 持续集成(Continuous Integration) 系统进行集成测试,而运维人员则可以直接在生产环境中快速部署该镜像,甚至结合 持续部署(Continuous Delivery/Deployment) 系统进行自动部署。
而且使用 Dockerfile 使镜像构建透明化,不仅仅开发团队可以理解应用运行环境,也方便运维团队理解应用运行所需条件,帮助更好的生产环境中部署该镜像。
更轻松的迁移
由于 Docker 确保了执行环境的一致性,使得应用的迁移更加容易。Docker 可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,其运行结果是一致的。因此用户可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。
更轻松的维护和扩展
Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。此外,Docker 团队同各个开源项目团队一起维护了一大批高质量的官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低了应用服务的镜像制作成本。
参考资料:https://yeasy.gitbooks.io/docker_practice/content/introduction/why.html
0x02 windows下Docker的安装
Docker for Windows 的安装与使用:
在Windows 10中,下载Docker for Windows的安装包,然后开始安装。正如上面所述,如果Hyper-V没有启用,安装过程会自动启用Hyper-V,这将需要重新启动Windows系统。安装完成后,就可以在Windows下使用Docker了。
在安装docker for windows 之后 不能安装vm、vbox等虚拟机,如需安装vbox、vm等虚拟机可采用下一个docker tools box 安装方法。
启动Docker for Windows,会在系统托盘部分显示一条小鲸鱼的图标:。在Docker完全启动之前,小鲸鱼背上的小方块会不停地闪烁变化,等小方块稳定不变后,表示系统完全启动成功,此时就可以对Docker的环境进行设置,或者开始执行Docker命令了。
在Docker for Windows成功启动后,就可以在CMD下执行Docker命令了。
Docker tools box 的安装与使用:
因为Docker Engine守护程序使用特定于Linux的内核功能,因此无法在Windows上本机运行Docker Engine。相反,你必须使用docker命令 docker-machine,创建并连接到一个小型的Linux VM您的计算机上。该VM在Windows系统上为您托管Docker Engine。
注:要运行Docker,您的计算机必须具有运行Windows 7或更高版本的64位操作系统。另外,您必须确保在您的计算机上启用虚拟化。
0x002
安装完会有VirtualBox/Docker Quickstart Terminal /kitematic (GUI图形化管理工具)。
0x003
启动Dcoker tools box 报错该如何解决?
解决方案:(Windows环境下手动更新boot2docker.iso)下载boot2docker.ISO 进行替换该C盘当前用户目录下的 .docker/machine/cache\boot2docker.iso 的boot2docker.iso?这个镜像文件进行一个替换。
0x03 linux下安装Docker
linux下安装docker最低系统安装要求为: Ubuntu 版本最低为 12.04 LTS,但从稳定性上考虑,推荐使用 14.04 LTS 或更高的版本。Debian 7 Wheezy (64-bit)(必须启用 backports)。linux下安装docker使用以下命令进行安装:(我这边就使用深度linux64位 来举例!)
apt-get install docker.io
建立 docker 用户组
默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。
安装docker.io 的时候已经自动添加了docker用户组,只需将当前非root权限的用户 添加docker组即可:
usermod -aG docker $USER
0x04 Mac os X下Docker的安装
苹果系统安装我这里就没什么好说的了,苹果系统下的都是一键安装的!
Docker for mac 下载链接:https://www.docker.com/docker-mac
安装启动docker后,可在右上角看到docker的小鲸鱼图标。
安装后可在终端下直接使用docker命令。
下载链接:https://github.com/boot2docker/boot2docker/releases
https://www.docker.com docker
https://www.docker.com/docker-windows docker for windows
https://www.docker.com/docker-mac docker for mac
https://www.docker.com/products/docker-toolbox docker tools box
参考资料:https://my.oschina.net/aixiaohua/blog/651171 Windows环境下手动更新boot2docker.iso
http://www.cnblogs.com/franson-2016/p/6412971.html 解决非root用户使用docker的办法
https://yeasy.gitbooks.io/docker_practice/content/install/ubuntu.html docker入门实践