zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    macOS npm install -g npm失败提示无权限
    js中的展开运算符
    vite启动项目
    export与export default区别
    vue3新特性拾遗
    isRef, isReactive 与 isReadonly的原理
    shallowReactive与reactive的原理浅析
    shallowReadonly 与 readonly原理浅析
    shallowRef与ref的原理浅析
    设计模式-资料相关
  • 原文地址:https://www.cnblogs.com/clqnotes/p/12919887.html
Copyright © 2011-2022 走看看