
🦆 个人主页:深邃-
目录
Docker镜像操作
Docker镜像操作也就是对镜像进行下载、运行、查看、删除、等
切换权限
docker的使用必须使用管理员权限才可以,所以必须切换到root
bash
sudo su root
然后输入kali的密码进入到root权限
列出镜像
- 列出镜像
bash
docker images -a

目前什么也没有
显示如下信息:
| 名称 | 描述 |
|---|---|
| REPOSITORY | 镜像所在的仓库名称 |
| TAG | 镜像标签 |
| IMAGE ID | 镜像 ID(类似镜像的身份证号) |
| CREATED | 镜像的创建日期(不是获取该镜像的日期) |
| SIZE | 镜像大小 |
下载镜像
上一篇文章我们已经将Docker的镜像源配置好了,接下来我们拉取镜像源
要下载公共仓库中的镜像,可以使用 docker image pull 命令,后跟镜像的名称和标签
bash
docker pull library/hello-world:latest

- library: 这是 Docker Hub 上的默认命名空间 ,用于存放官方提供的镜像。使用 library 命名空间可以确保你拉取的是官方维护的镜像 。由于 Docker 官方的镜像默认位于 library 组下,因此可以省略 library
- hello-world: 这是镜像的名称。hello-world 是一个非常基础的镜像,通常用于验证 Docker 是否安装成功。
- latest: 这是镜像的标签 。Docker 镜像可以有多个标签,用于区分不同的版本。latest 标签通常用于表示镜像的最新版本 。不指定镜像标签,默认拉取latest标签镜像
- 所以下载官方的镜像默认版本可以省略 命令空间和标签
1、下载hello-world
bash
docker pull hello-world

2、下载ubuntu
bash
docker pull ubuntu


删除镜像
要删除一个镜像,可以使用 docker rmi 命令,后面跟上镜像名称或镜像ID。
bash
sudo docker rmi ID号

注意:
- 如果镜像正在被一个或多个容器使用,则无法删除。需要先删除使用该镜像的容器。
- 在执行镜像操作时,请确保您使用的是正确的镜像名称和标签。
- 删除镜像前,请确保没有运行的容器依赖于该镜像,以免影响容器的正常运行。
Docker容器操作
下载的镜像被运行起来就叫容器
运行容器
创建并运行一个容器,可以使用 docker run 命令,格式如下:
bash
docker run [option] image_name [command]
- option 是可选参数
- image_name 是镜像的名称
- command 是在容器启动时执行的命令
启动容器
bash
docker run -itd --name=启动的容器名字(自定义) 镜像名或者ID /bin/bash
- -i:以交互模式运行容器。
- -t:分配一个伪终端,容器启动后会进入容器命令行
- -d:以守护式模式运行容器,在后台运行。
- --name:为容器指定一个名称。
- /bin/bash:启动容器后在容器中打开一个bash
实例如下:
bash
docker run -itd --name=ubuntu e0f16e6366fe /bin/bash

列出容器
bash
docker ps 列出正在运行中的容器
docker ps -a 列出所有已经创建的容器(包括运行中和停止的)

进入容器
要进入正在运行的容器:
bash
docker exec -it container_name_or_id command
- exec:用于在已经运行的容器中执行命令
- -i:以交互模式运行容器。
- -t:分配一个伪终端,容器启动后会进入容器命令行
- container_name_or_id 表示容器名或容器id
- command 表示进入容器后执行的第一个命令
例如,进入名为 ubuntu 的容器并执行 /bin/bash,打开一个Bash shell终端:
bash
docker exec -it ubuntu /bin/bash

停止容器
停止一个已经在运行的容器
bash
docker stop 容器名或容器id

启动容器
启动一个已经停止的容器
bash
docker start 容器名或容器id

删除容器
删除一个容器
bash
docker rm 容器名或容器id

Docker搭建漏洞靶场
Vulhub是一个开源的、即开即用的漏洞靶场环境集合。无需Docker基础,只需一条命令即可快速启动用于安全研究、学习或演示的漏洞环境。
Vulhub靶场搭建
(1) 靶场地址
bash
https://gitee.com/yijingsec/vulhub
(2) 下载靶场
bash
git clone https://gitee.com/yijingsec/vulhub.git

(3) 启动靶场
vulhub文件夹中有很多常见的nday漏洞靶场,想要复现那个就进入到对应目录下启动即可

找到docker-compose.yml配置文件

你当前在 Kali 里执行了 cat docker-compose.yml,输出的内容是 Vulhub 里 CVE-2012-2122 漏洞环境的配置文件:
yaml
version: '2'
services:
mysql:
image: vulhub/mysql:5.5.23
ports:
- "3306:3306"
- version: '2':指定 Docker Compose 文件的版本
- services:定义要启动的服务,这里只启动了 mysql
- image: vulhub/mysql:5.5.23:指定使用的镜像,是 Vulhub 封装好的、带漏洞的 MySQL 5.5.23
- ports: - "3306:3306":把容器的 3306 端口映射到宿主机的 3306 端口,这样你在 Kali 里就能连接到这个 MySQL 服务了
启动的命令如下
bash
docker-compose up -d
该命令会自动下载镜像、自动创建和启动容器,不需要额外手动操作


(4) 访问靶场
1、查看容器启动情况
bash
docker ps


2、找到对应的端口,此处为 8080

主机用浏览器IP:端口访问靶场

(5) 删除靶场
bash
docker-compose down



