在这里插入图片描述

🦆 个人主页:深邃-

❄️专栏传送门:《C语言》《数据结构与算法》《Web安全》
🌟Gitee仓库:《C语言》《数据结构与算法》
在这里插入图片描述


Docker镜像操作

Docker镜像操作也就是对镜像进行下载、运行、查看、删除、等

切换权限

docker的使用必须使用管理员权限才可以,所以必须切换到root

sudo su root 

然后输入kali的密码进入到root权限

列出镜像

2. 列出镜像

docker images -a

在这里插入图片描述
目前什么也没有
显示如下信息:

名称 描述
REPOSITORY 镜像所在的仓库名称
TAG 镜像标签
IMAGE ID 镜像 ID(类似镜像的身份证号)
CREATED 镜像的创建日期(不是获取该镜像的日期)
SIZE 镜像大小

下载镜像

上一篇文章我们已经将Docker的镜像源配置好了,接下来我们拉取镜像源

要下载公共仓库中的镜像,可以使用 docker image pull 命令,后跟镜像的名称和标签

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

docker pull hello-world

在这里插入图片描述

2、下载ubuntu

docker pull ubuntu

在这里插入图片描述
在这里插入图片描述

删除镜像

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

sudo docker rmi ID号

在这里插入图片描述

注意:

  • 如果镜像正在被一个或多个容器使用,则无法删除。需要先删除使用该镜像的容器。
  • 在执行镜像操作时,请确保您使用的是正确的镜像名称和标签。
  • 删除镜像前,请确保没有运行的容器依赖于该镜像,以免影响容器的正常运行。

Docker容器操作

下载的镜像被运行起来就叫容器

运行容器

创建并运行一个容器,可以使用 docker run 命令,格式如下:

docker run [option] image_name [command]
  • option 是可选参数
  • image_name 是镜像的名称
  • command 是在容器启动时执行的命令

启动容器

docker run -itd --name=启动的容器名字(自定义) 镜像名或者ID /bin/bash
  • -i:以交互模式运行容器。
  • -t:分配一个伪终端,容器启动后会进入容器命令行
  • -d:以守护式模式运行容器,在后台运行。
  • –name:为容器指定一个名称。
  • /bin/bash:启动容器后在容器中打开一个bash

实例如下:

docker run -itd --name=ubuntu e0f16e6366fe /bin/bash

在这里插入图片描述

列出容器

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

在这里插入图片描述

进入容器

要进入正在运行的容器:

docker exec -it container_name_or_id command
  • exec:用于在已经运行的容器中执行命令
  • -i:以交互模式运行容器。
  • -t:分配一个伪终端,容器启动后会进入容器命令行
  • container_name_or_id 表示容器名或容器id
  • command 表示进入容器后执行的第一个命令

例如,进入名为 ubuntu 的容器并执行 /bin/bash,打开一个Bash shell终端:

docker exec -it ubuntu /bin/bash

在这里插入图片描述

停止容器

停止一个已经在运行的容器

docker stop 容器名或容器id

在这里插入图片描述

启动容器

启动一个已经停止的容器

docker start 容器名或容器id

在这里插入图片描述

删除容器

删除一个容器

docker rm 容器名或容器id

在这里插入图片描述

Docker搭建漏洞靶场

Vulhub是一个开源的、即开即用的漏洞靶场环境集合。无需Docker基础,只需一条命令即可快速启动用于安全研究、学习或演示的漏洞环境。

Vulhub靶场搭建

(1) 靶场地址

https://gitee.com/yijingsec/vulhub

(2) 下载靶场

git clone https://gitee.com/yijingsec/vulhub.git

在这里插入图片描述
(3) 启动靶场
vulhub文件夹中有很多常见的nday漏洞靶场,想要复现那个就进入到对应目录下启动即可
在这里插入图片描述
找到docker-compose.yml配置文件
在这里插入图片描述
你当前在 Kali 里执行了 cat docker-compose.yml,输出的内容是 Vulhub 里 CVE-2012-2122 漏洞环境的配置文件:

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 服务了

启动的命令如下

docker-compose up -d

该命令会自动下载镜像、自动创建和启动容器,不需要额外手动操作
在这里插入图片描述

在这里插入图片描述

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

docker ps

在这里插入图片描述
在这里插入图片描述

2、找到对应的端口,此处为 8080
在这里插入图片描述
主机用浏览器IP:端口访问靶场
在这里插入图片描述

(5) 删除靶场

docker-compose down

在这里插入图片描述

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐