網站首頁 編程語言 正文
前言:
言歸正傳,下面開始學習了。本文僅供學習參考,嚴禁用于一切違法行為,否則后果自負。
docker的簡介
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的Linux機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。說到容器,說到虛擬化,很多人總會想到虛擬機,想到 VMware、VirtualBox 等工具,不同于這些虛擬技術,docker 虛擬化更加輕量級,傳統的虛擬機都是先虛擬出一個操作系統,然后在操作系統上完成各種各樣的配置,這樣并不能充分的利用物理機的性能,docker 則是一種操作系統級別的虛擬技術,它運行在操作系統之上的用戶空間,所有的容器都共用一個系統內核甚至公共庫,容器引擎提供了進程級別的隔離,讓每個容器都像運行在單獨的系統之上,但是又能夠共享很多底層資源。因此 docker 更為輕量、快速和易于管理。
其中docker也常用于漏洞測試環境搭建,在kail環境下搭建docker,以及在docker容器中搭建各種漏洞測試環境是網絡安全人員必須要學會的。
安裝docker
1. 在kail環境下搭建docker,kali版本要在3.10以上,使用命令查看kali內核
uname -a
或者
uname -r
2. 添加添加Docker官方的GPG密鑰
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
3.,然后更新源
echo 'deb https://download.docker.com/linux/debian stretch stable'> /etc/apt/sources.list.d/docker.list
提示:如果權限不足,請用sudo su命令
4. 然后導入證書
apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
注意:但是這里如果你沒有掛vpn的話,就無法繼續執行這個命令, 你需要換其他apt源
可以使用第二步的命令,將<>里面的apt源換掉,也可以使用命令
#新重寫sources.list中內容,一個個字母刪除太久了
echo > /etc/apt/sources.list
#進入sources.lis重新編輯apt源
vim /etc/apt/sources.list
#直接CV大法寫入下面的apt源
#其他apt源
#此處,筆者僅添加中科達和阿里的,其他注釋掉
#中科大
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
#阿里云
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
#清華大學
#deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
#deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
#浙大
#deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
#deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
#東軟大學
#deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contribp.kali.org/kali kali-rolling main non-free contrib
#重慶大學
#deb http://http.kali.org/kali kali-rolling main non-free contrib
#deb-src http://http.kali.org/kali kali-rolling main non-free contrib
更新apt源之后,要更新一下系統使用命令
apt-get update && apt-get upgrade && apt-get dist-upgrade #系統更新命令
apt-get alean
然后重新導入證書即可
5.安裝docker
使用以下安裝命令(如果第一個安裝命令不成功,則換第二個安裝命令)
apt-get install docker docker-compose
sudo apt install docker.io
6.檢查安裝是否成功
docker -v
docker的簡單使用
1. 啟動docker
service docker start
這里可以設置開機自啟動就不用每次都手動打開docker了
2. 查看鏡像
docker images
我這里沒有鏡像
然后我們需要下載鏡像
Docker建議配備一個鏡像加速器來解決國內用戶訪問DockerHub緩慢的問題。此處筆者推薦使用阿里云的鏡像加速器來優化,提升下載速度。
#阿里云鏡像加速器獲取網址(需注冊):https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
#鏡像加速器網址寫入/etc/docker/daemon.json文件(可能不存在)中
vim /etc/docker/daemon.json
#新建daemon.jsp文件
touch /etc/docker/daemon.json
#寫入內容
{
"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
#退出daemon.jsp,并重啟docker
ESC --> :wq!
systemctl restart docker
#其他公開Docker鏡像加速源(不需注冊)
https://docker.mirrors.ustc.edu.cn #中科大
http://hub-mirror.c.163.com/ #網易
3.搭建漏洞環境
以安裝DVWA靶場為例
docker pull citizenstig/dvwa #拉取dvwa靶場到docker中
docker run -d -p 80:80 citizenstig/dvwa #運行靶場
docker search <名稱> #搜索鏡像
docker pull <名稱> #下載鏡像
docker run -d -p 80:80 <鏡像名稱>
-d 后臺運行
-p 后跟端口 port1:port2 將容器內部服務器端口port2映射到本地端口port1(如果-p后什么也不寫,隨機分配端口)
--rm 容器停止之后會自動刪除
docker images #查看本地已經下載好的鏡像
docker info #查看docker信息
docker ps #查看運行中的docker
docker stop 容器名/id #關閉容器
docker start 容器名/容器id #開啟容器
docker rm 容器名/容器id # 刪除
docker的安裝以及簡單的使用教程就到這里結束了。
原文鏈接:https://blog.csdn.net/m0_49577923/article/details/123203047
相關推薦
- 2022-07-24 C++深入刨析類與對象的使用_C 語言
- 2022-03-23 shell中的流編輯器awk工作原理_linux shell
- 2022-09-22 原型鏈及原型鏈的作用/構造函數,原型對象,實例對象的三角關系
- 2022-04-27 Python中的元組(Tuple)操作實例詳解_python
- 2022-07-21 Centos7修改主機名hostname
- 2023-04-12 python的去重以及數據合并的用法說明_python
- 2022-10-11 pandas?df.sample()的使用_python
- 2022-06-01 C語言?詳解如何刪除有序數組中的重復項_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支