• docker命令与docker-compose管理vulhub


    本文首发于Leon的Blog,如需转载请注明原地址并联系作者

    docker命令

    查看docker服务状态:

    1. service docker status # 查看状态
    2. # Active: inactive (dead) # 出现此条即未启动
    3. service docker start # 启动docker服务

    查看当前运行的容器与端口:

    1. docker ps

    查看本地已下载镜像:

    1. docker images 或者docker image ls

    查看当前运行容器实时状态:

    1. docker stats

    使用docker搜索并下载镜像:

    1. docker search node #以node为例,node处替换为你想搜索的关键词
    2. #搜索后发现了想要下载的镜像,记住完整镜像名
    3. docker pull node #以node为例,拉取node镜像到本地,这里node处替换为你想下载的完整镜像名

    启动容器:

    1. docker start 容器名/容器ID

    重启容器:

    1. docker restart 容器名/容器ID

    终止容器:

    1. docker stop 容器名/容器ID

    删除容器:

    1. docker rm 容器名/容器ID

    删除镜像:

    1. docker rmi 镜像名/容器ID

    运行镜像且端口映射:

    1. run 运行 stop停止 -d 后台运行 -p 端口映射
    2. docker run -p 8500:8080 -d node
    3. #启动刚刚下载的node镜像,让其在后台运行,将镜像中的node端口8080映射至物理机的8500端口,成功运行后会返回一串容器ID

    文件复制:

    1. docker cp 本机路径 容器ID:容器内路径
    2. #用法与linux下cp命令大同小异

    进入容器:

    1. docker exec -it 容器名/容器id bash
    2. #退出时输入exit即可

    docker-compose管理vulhub

    查看docker compose版本:

    1. docker-compose version

    vulhub自带的镜像的配置文件都已经下好在本地了,默认是根目录下的 vulhub 文件夹里

    使用 docker-compose 需要进入到指定漏洞镜像的文件夹,

    因为默认情况下该命令docker-compose up会读取当前文件夹下名为 docker-compose.yml 或 docker-compose.yaml 的配置文件。

    例如我想启动 flask ssti注入这个漏洞镜像,我需要先cd /vulhub/flask/ssti

    然后启动镜像:

    1. docker-compose up
    2. docker-compose up -d
    3. #注意:-d表示以后台运行

    docker-compose up表示在前台启动容器,控制台将会同时打印所有容器的输出信息,可以很方便进行调试。当通过Ctrl C停止命令时,所有容器将会停止。如图:

    docker-compose up -d表示后台启动

    有关该命令的其他参数,可以使用docker-compose up --help查看

    停止该漏洞镜像的所有容器:(当然也需要在指定文件夹下执行)

    1. docker-compose stop
    2. #停止 Compose 应用相关的所有容器,但不会删除它们。
    3. #被停止的应用可以很容易地通过 docker-compose restart 命令重新启动。

    删除已停止的应用:

    1. docker-compose rm
    2. #用于删除已停止的 Compose 应用。
    3. #它会删除容器和网络,但是不会删除卷和镜像。

    重启已停止的应用:

    1. docker-compose restart
    2. #如果用户在停止该应用后对其配置或其它进行了变更,那么变更的内容不会反映在重启后的应用中,这时需要重新部署应用使变更生效。

    列出当前应用中的各个容器:

    1. docker-compose ps
    2. #输出内容包括当前状态、容器运行的命令以及网络端口。

    停止并删除当前的应用:

    1. docker-compose down
    2. #它会删除容器和网络,但是不会删除卷和镜像。

    Ps:建议使用docker-compose down这种方式停止应用

    对了还有一点

    vulhub里的大部分镜像都是默认的8000或者8080端口,如果不进行修改端口映射就会出现占用的情况

    你可以在指定文件夹里的docker-compose.yml进行修改

    在 ports 一栏,修改格式为:

    使用HOST:CONTAINER格式或者只是指定容器的端口,宿主机会随机映射端口

    end.

  • 相关阅读:
    多个类定义attr属性重复的问题:Attribute "xxx" has already been defined
    好用的批量改名工具——文件批量改名工具V2.0 绿色版
    得到ImageView中drawable显示的区域的计算方法
    得到view坐标的各种方法
    实现类似于QQ空间相册的点击图片放大,再点后缩小回原来位置
    Material Designer的低版本兼容实现(五)—— ActivityOptionsCompat
    Android 自带图标库 android.R.drawable
    解决 Attempting to destroy the window while drawing!
    解决Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 4
    Material Designer的低版本兼容实现(四)—— ToolBar
  • 原文地址:https://www.cnblogs.com/clqnotes/p/12919887.html
Copyright © 2020-2023  润新知