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.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM