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.

posted @ 2020-05-19 22:04  Leonsec  阅读(1193)  评论(0编辑  收藏  举报