如何在Docker容器中运行KaliLinux2.0?
Kali Linux 是一个对于安全测试人员和白帽的一个知名操作系统。它带有大量安全相关的程序,这让它很容易用于渗透测试。最近,Kali Linux 2.0 发布了,它被认为是这个操作系统最重要的一次发布。另一方面,Docker 技术由于它的可扩展性和易用性让它变得很流行。Dokcer 让你非常容易地将你的程序带给你的用户。好消息是你可以通过 Docker 运行Kali Linux 了,让我们看看该怎么做 :)
在 Docker 中运行 Kali Linux 2.0
相关提示
如果你还没有在系统中安装docker,你可以运行下面的命令:
对于 Ubuntu/Linux Mint/Debian:
sudo apt-get install docker
对于 Fedora/RHEL/CentOS:
sudo yum install docker
对于 Fedora 22:
dnf install docker
你可以运行下面的命令来启动docker:
sudo docker start
首先运行下面的命令确保 Docker 服务运行正常:
sudo docker status
Kali Linux 的开发团队已将 Kali Linux 的 docker 镜像上传了,只需要输入下面的命令来下载镜像。
docker pull kalilinux/kali-linux-docker
Pull Kali Linux docker
下载完成后,运行下面的命令来找出你下载的 docker 镜像的 ID。
docker images
Kali Linux Image ID
现在运行下面的命令来从镜像文件启动 kali linux docker 容器(这里需用正确的镜像ID替换)。
docker run -i -t 198cd6df71ab3/bin/bash
它会立刻启动容器并且让你登录到该操作系统,你现在可以在 Kaili Linux 中工作了。
Kali Linux Login
你可以在容器外面通过下面的命令来验证容器已经启动/运行中了:
docker ps
可以在docker容器里跑windows么?
不可以!Docker并不是全能的,设计之初也不是KVM之类虚拟化手段的替代品,简单总结几点:
1.Docker
是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用2.LXC
是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的3.隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库4.网络管理相对简单,主要是基于namespace隔离5.cgroup
的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)6.docker
对disk的管理比较有限7.container
随着用户进程的停止而销毁,container中的log等用户数据不便收集针对1-2,有windows base应用的需求的基本可以pass了; 3-5主要是看用户的需求,到底是需要一个container还是一个VM, 同时也决定了docker作为 IaaS 不太可行。