- 添加Docker的ATP仓库
sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
- 添加Docker仓库的GPG密钥
curl -s https://get.docker.io/gpg | sudo apt-key add -
- 更新APT源
sudo apt-get update
- 在Ubuntu中安装Docker
sudo apt-get install lxc-docker docker
- 确认Docker已经安装在Ubuntu中
➜ ~ sudo docker info [sudo] password for tp: Containers: 1 Images: 4 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 6 Dirperm1 Supported: true Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 3.16.0-44-generic Operating System: Ubuntu 14.10 CPUs: 4 Total Memory: 7.702 GiB Name: ubuntu ID: LOMF:BPSX:TEY4:HU4K:S5E3:H6UX:DUNQ:MFSG:UAIP:JMW5:HKEP:SQ2M WARNING: No swap limit support
-
检查docker守护进程是否在运行
➜ ~ sudo status docker [sudo] password for tp: docker start/running, process 18117
- 居于ubuntu镜像,创建一个docker
➜ ~ sudo docker run -i -t ubuntu /bin/bash [sudo] password for tp: root@5e2accdd4f7a:/# # 创建特定名称的docker sudo docker run --name first-docker -i -t ubuntu /bin/bash
- 创建一个kali-linux
# 先获取镜像 ➜ tools sudo docker pull kalilinux/kali-linux-docker latest: Pulling from kalilinux/kali-linux-docker a4d244f4db27: Pull complete ff90a7782c43: Pull complete 426f69441115: Pull complete c4fad45aeb16: Pull complete e4c3a586e9ad: Pull complete 63ae5ac8df0f: Already exists Digest: sha256:9d50de0f7e4f9696f7b85896cad1d966d4fabcc47c75ed427705708a33b762b4 Status: Downloaded newer image for kalilinux/kali-linux-docker:latest # 创建kali-linux ➜ tools sudo docker run --name kali -t -i kalilinux/kali-linux-docker /bin/bash root@fe6c7da22c2e:/# uname -a Linux fe6c7da22c2e 3.16.0-44-generic #59-Ubuntu SMP Tue Jul 7 02:07:39 UTC 2015 x86_64 GNU/Linux # 更新源列表,由于刚安装的,vim都没有,所以用nano进行编辑 #加入如下源,ctrl+o写入ctrl+x退出 deb http://mirrors.ustc.edu.cn/kali kali main non-free contrib deb-src http://mirrors.ustc.edu.cn/kali kali main non-free contrib deb http://mirrors.ustc.edu.cn/kali-security kali/updates main contrib non-free # 刷新源列表 apt-get update # 安装metasploit root@fe6c7da22c2e:/# apt-get install metasploit
- 使用容器
root@5e2accdd4f7a:/# hostname 5e2accdd4f7a root@5e2accdd4f7a:/# cat /etc/hosts 172.17.0.2 5e2accdd4f7a 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters root@5e2accdd4f7a:/# vim bash: vim: command not found root@5e2accdd4f7a:/# apt-get install vim
- 查看当前系统中容器列表
➜ ~ sudo docker ps -a [sudo] password for tp: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5e2accdd4f7a ubuntu "/bin/bash" 6 minutes ago Up 6 minutes fervent_wozniak c5e16b9df2e5 ubuntu "/bin/bash" 25 minutes ago Up 7 minutes reverent_hoover
- 切换到正在运行的docker
➜ ~ sudo docker attach reverent_hoover root@c5e16b9df2e5:/#
- 查看容器内的进程
➜ ~ sudo docker top fervent_wozniak UID PID PPID C STIME TTY TIME CMD root 20254 18117 0 14:02 pts/16 00:00:00 /bin/bash
- 停止或重容器
➜ ~ sudo docker stop reverent_hoover reverent_hoover ➜ ~ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f68e131bb9dc ubuntu "/bin/bash" 12 minutes ago Exited (0) 11 minutes ago first-docker 5e2accdd4f7a ubuntu "/bin/bash" 22 minutes ago Exited (2) 39 seconds ago fervent_wozniak c5e16b9df2e5 ubuntu "/bin/bash" 42 minutes ago Exited (0) 2 seconds ago reverent_hoover ➜ ~ sudo docker start reverent_hoover reverent_hoover ➜ ~ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f68e131bb9dc ubuntu "/bin/bash" 12 minutes ago Exited (0) 11 minutes ago first-docker 5e2accdd4f7a ubuntu "/bin/bash" 22 minutes ago Exited (2) 49 seconds ago fervent_wozniak c5e16b9df2e5 ubuntu "/bin/bash" 42 minutes ago Up 1 seconds reverent_hoover
- 获取容器更多信息
➜ ~ sudo docker inspect reverent_hoover
- 删除容器
➜ ~ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f68e131bb9dc ubuntu "/bin/bash" 15 minutes ago Exited (0) 14 minutes ago first-docker 5e2accdd4f7a ubuntu "/bin/bash" 26 minutes ago Exited (2) 4 minutes ago fervent_wozniak c5e16b9df2e5 ubuntu "/bin/bash" 45 minutes ago Up 3 minutes reverent_hoover ➜ ~ sudo docker rm first-docker first-docker ➜ ~ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5e2accdd4f7a ubuntu "/bin/bash" 26 minutes ago Exited (2) 4 minutes ago fervent_wozniak c5e16b9df2e5 ubuntu "/bin/bash" 46 minutes ago Up 3 minutes reverent_hoover # 删除全部容器 sudo docker rm `docker ps -a -q`