前言

Docker是渗透测试中必学不可的一个容器工具,在其中,我们能够快速创建、运行、测试以及部署应用程序。如,我们对一些漏洞进行本地复现时,可以使用Docker快速搭建漏洞环境,完成复现学习。

Docker的安装

1、Linux内核版本查看

#安装docker要求内核版本kerner>=3.10

#为此,先检查当前Linux系统的内核版本

uname -a

2、更新apt源满足下载要求

#新重写sources.list中内容,一个个字母删除太久了

cho > /etc/apt/sources.list

#进入sources.lis重新编辑apt源

vim /etc/apt/sources.list

#直接CV大法写入下面的apt源

#阿里云

deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

3、安装

# 安装依赖包

apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

# 加 Docker 的官方 GPG 密钥

root@ubuntu-template:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 验证您现在是否拥有带有指纹的密钥

root@ubuntu-template:~# apt-key fingerprint 0EBFCD88

# 使用以下指令设置稳定版仓库

root@ubuntu-template:~# add-apt-repository \>    "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \

>   $(lsb_release -cs) \

>   stable"

# 安装最新版本(稳定)的 Docker Engine-Community 和 containerd

root@ubuntu-template:~# apt-get install docker-ce docker-ce-cli containerd.io

# 要安装特定版本的 Docker Engine-Community,请在仓库中列出可用版本,然后选择一种安装。列出您的仓库中可用的版本

root@ubuntu-template:~# apt-cache madison docker-ce

#验证

root@ubuntu-template:~# docker run hello-world

4、进行系统或工具的更新

#进行系统或工具的更新(有丢丢就,先上把王者)

#注:当出现正在设定软件包界面时,直接按tab+enter进行确认

apt-get update && apt-get upgrade && apt-get dist-upgrade

#礼貌性清除更新缓存

apt-get clean

5、采用apt安装Docker

#为什么采用apt安装?因为之后采用apt源安装Docker的其他组件时,新组件与已安装的Docker容器最为匹配。

apt-get install docker docker-compose

#或

apt-get install docker.io

如果上述步骤不行,可尝试:

第一步:添加Docker官方的GPG密钥

curl  -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

第二步: 第二步更新源

echo 'deb Index of linux/debian/ stretch stable'> /etc/apt/sources.list.d/docker.list

第三步: 直接导入证书

apt-get install apt-transport-https  ca-certificates  curl  gnupg2  software-properties-common

第四步:系统更新

apt-get update

第五步: 安装docker

sudo apt install docker.io

第六步:检查docker安装是否成功

docker -v

6、Docker常用命令:

service docker start //启动docker服务

docker version //查看docker版本信息

docker ps 查看容器

docker images 查看已有的镜像

备注:由于国内网络问题,建议使用加速器加快镜像的下载

添加加速器方法:

编辑这个文件,如果没有对话就创建这个文件

vim /etc/docker/daemon.json

内容如下:

{

"registry-mirrors": [

"http://hub-mirror.c.163.com"

]

}

这里我使用对是国内 163 网易源,其他源可以自行百度替换。

配置完成后重启服务才可以生效:命令如下

sudo systemctl daemon-reload

sudo systemctl restart docker

#系统命令

systemctl start docker                #启动docker

systemctl stop docker                #停止docker

systemctl restart docker            #重启docker

systemctl enable docker                #设置docker开机自启

#基本命令

docker version                        #查看docker版本

docker info                            #查看docker详细信息

docker --help                        #查看docker命令

#镜像命令

docker images                        #查看docker镜像列表

docker images -a                    #列出本地所有镜像

docker images --digests                #显示镜像的摘要信息

docker search redis                    #从Docker Hub上查找redis镜像

docker pull redis                    #从Docker Hub上下载redis镜像

docker rmi 373f0984b070                #删除IMAGE ID 为373f0984b070的镜像

#运行命令

#-p 6379:6379    端口映射:前表示主机部分,后表示容器部分

#-d    在后台运行容器(不进入终端)并打印容器ID/容器名

#--name myredis表示自定义容器名为myredis

docker run -d -p 6379:6379 --name myredis redis:latest        #根据镜像创建并运行容器

#容器命令

docker container ls 或 docker ps                #查看正在运行的容器

docker container ls -a 或 docker ps -a            #列出所有容器

docker container start 容器ID 或 容器名称        #启动容器

docker start 容器ID 或 容器名称                    #启动容器

docker container stop 容器ID 或 容器名称            #停止容器

docker stop 容器ID 或 容器名称                    #停止容器

docker container rm 容器ID 或 容器名称            #删除容器

docker rm 容器ID 或 容器名称                        #删除容器

docker container logs -f 容器ID 或 容器名称        #查看容器日志

docker exec -it name /bin/bash                     #进入name(容器名/id)中开启交互式的终端,exit退出

docker安装成功后,需要安装compose

输入执行命令:

apt install docker-compose

然后输入y就可以。 安装完毕后,输入docker-compose,显示下面页面,安装成功!

配置docker镜像源

#启动docker

systemctl start docker.service

# 查看docker服务是否开启

service --status-all

#修改 修改docker配置文件

vim /etc/docker/daemon.json

登录进入阿里云容器镜像服务

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

复制此行

配置完成后使用命令使加速器生效

#重新加载配置文件

systemctl daemon-reload

#重启docker

systemctl restart docker

如果添加后仍然拉取失败,尝试下边的解决方法:

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://tdimi5ql.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

docker搭建dvwa   

下载镜像

docker pull vulnerables/web-dvwa

#或者通过搜索来自选镜像源

docker search dvwa

#通过镜像下载容器

docker run --rm -it -p 80:80 vulnerables/web-dvwa

#通过镜像启动容器

docker run --rm -it -p 80:80 vulnerables/web-dvwa    ---补充: -p 80:80 是将容器里的80端口映射到kali的80端口(网站服务)

打开kali的浏览器,输入127.0.0.1可以正常打开。默认账号密码为 admin/password

#执行

docker search sqli-labs

#拉取镜像

docker pull acgpiano/sqli-labs

#启动sql-labs

docker run -dt --name fengwenbo-sqli-labs -p 520:80 -del acgpiano/sqli-labs

参数介绍:

★-dt后台运行

★-name 命名

★-p520:80 将后边的80端口映射到520主机端口

★-rm 容器退出时能够自动清理容器内部的文件系统

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐