日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

kali下對(duì)Docker的詳細(xì)安裝教程_docker

作者:涂寐 ? 更新時(shí)間: 2022-07-03 編程語(yǔ)言

0x00 前言

Docker是滲透測(cè)試中必學(xué)不可的一個(gè)容器工具,在其中,我們能夠快速創(chuàng)建、運(yùn)行、測(cè)試以及部署應(yīng)用程序。如,我們對(duì)一些漏洞進(jìn)行本地復(fù)現(xiàn)時(shí),可以使用Docker快速搭建漏洞環(huán)境,完成復(fù)現(xiàn)學(xué)習(xí)。

注:本教程僅供學(xué)習(xí)參考,請(qǐng)勿用在非法途徑上,違者后果自負(fù),與筆者無(wú)關(guān)。

0x01 Docker的安裝

1、Linux內(nèi)核版本查看

#安裝docker要求內(nèi)核版本kerner>=3.10
#為此,先檢查當(dāng)前Linux系統(tǒng)的內(nèi)核版本
uname -a

2、更新apt源滿足下載要求

#新重寫(xiě)sources.list中內(nèi)容,一個(gè)個(gè)字母刪除太久了
cho > /etc/apt/sources.list
#進(jìn)入sources.lis重新編輯apt源
vim /etc/apt/sources.list
#直接CV大法寫(xiě)入下面的apt源

3、進(jìn)行系統(tǒng)或工具的更新

#其他apt源
#此處,筆者僅添加中科達(dá)和阿里的,其他注釋掉
#中科大
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
#清華大學(xué)
#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
#東軟大學(xué)
#deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contribp.kali.org/kali kali-rolling main non-free contrib
#重慶大學(xué)
#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

4、采用apt安裝Docker

#進(jìn)行系統(tǒng)或工具的更新(有丟丟就,先上把王者)
#注:當(dāng)出現(xiàn)正在設(shè)定軟件包界面時(shí),直接按tab+enter進(jìn)行確認(rèn)
apt-get update && apt-get upgrade && apt-get dist-upgrade
#禮貌性清除更新緩存
apt-get clean

5、檢驗(yàn)Docker成功安裝

#啟動(dòng)docker服務(wù)
service docker start
#列出docker現(xiàn)有鏡像
docker images
#運(yùn)行hello-world鏡像
#但apt安裝的docker沒(méi)帶有hello-world默認(rèn)鏡像呀,所以下面的命令不成功,它會(huì)幫你拉去該鏡像下來(lái)
docker run hello-world

0x02 Docker的其他配置

1、配置阿里云鏡像加速

Docker建議配備一個(gè)鏡像加速器來(lái)解決國(guó)內(nèi)用戶訪問(wèn)DockerHub緩慢的問(wèn)題。此處筆者推薦使用阿里云的鏡像加速器來(lái)優(yōu)化,提升下載速度。

注:配置鏡像加速器,僅針對(duì)Docker客戶端版本大于 1.10.0 的用戶

#阿里云鏡像加速器獲取網(wǎng)址(需注冊(cè)):https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
#鏡像加速器網(wǎng)址寫(xiě)入/etc/docker/daemon.json文件(可能不存在)中
vim /etc/docker/daemon.json
#新建daemon.jsp文件
touch /etc/docker/daemon.json
#寫(xiě)入內(nèi)容
{
	"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
#退出daemon.jsp,并重啟docker
ESC --> :wq!
systemctl restart docker
#其他公開(kāi)Docker鏡像加速源(不需注冊(cè))
https://docker.mirrors.ustc.edu.cn	#中科大
http://hub-mirror.c.163.com/		#網(wǎng)易

2、設(shè)置Docker開(kāi)機(jī)自啟

#設(shè)置docker開(kāi)機(jī)自啟
systemctl enable docker

0x03 Docker的簡(jiǎn)單使用

#筆者以拉取 CVE-2017-7504 的漏洞環(huán)境為例。
docker search testjboss    							#搜索漏洞環(huán)境
docker pull testjboss/jboss							#拉取漏洞環(huán)境
docker run -d -p 80:8080 testjboss/jboss:latest		#根據(jù)testjboss/jboss鏡像創(chuàng)建并運(yùn)行容器
ifconfig																						#查看已運(yùn)行容器ip
#kali中,使用瀏覽器訪問(wèn)http://IP						#IP可為127.0.0.1
docker ps																						#查看正在運(yùn)行的容器
docker exec -it e8f4844aabc1 /bin/bash				#進(jìn)入容器(id:e8f4844aabc1)
exit																								#退出容器到宿主機(jī)(容器不會(huì)停止運(yùn)行)
docker stop 3b41c0c08430							#關(guān)閉容器(id唯一標(biāo)識(shí),建議使用id)

0x04 Docker的常用命令

#系統(tǒng)命令
systemctl start docker				#啟動(dòng)docker
systemctl stop docker				#停止docker
systemctl restart docker			#重啟docker
systemctl enable docker				#設(shè)置docker開(kāi)機(jī)自啟
#基本命令
docker version						#查看docker版本
docker info							#查看docker詳細(xì)信息
docker --help						#查看docker命令
#鏡像命令
docker images						#查看docker鏡像列表
docker images -a					#列出本地所有鏡像
docker images --digests				#顯示鏡像的摘要信息
docker search redis					#從Docker Hub上查找redis鏡像
docker pull redis					#從Docker Hub上下載redis鏡像
docker rmi 373f0984b070				#刪除IMAGE ID 為373f0984b070的鏡像
#運(yùn)行命令
#-p 6379:6379	端口映射:前表示主機(jī)部分,后表示容器部分
#-d	在后臺(tái)運(yùn)行容器(不進(jìn)入終端)并打印容器ID/容器名
#--name myredis表示自定義容器名為myredis
docker run -d -p 6379:6379 --name myredis redis:latest		#根據(jù)鏡像創(chuàng)建并運(yùn)行容器
#容器命令
docker container ls 或 docker ps				#查看正在運(yùn)行的容器
docker container ls -a 或 docker ps -a			#列出所有容器
docker container start 容器ID 或 容器名稱		#啟動(dòng)容器
docker start 容器ID 或 容器名稱					#啟動(dòng)容器
docker container stop 容器ID 或 容器名稱			#停止容器
docker stop 容器ID 或 容器名稱					#停止容器
docker container rm 容器ID 或 容器名稱			#刪除容器
docker rm 容器ID 或 容器名稱						#刪除容器
docker container logs -f 容器ID 或 容器名稱		#查看容器日志
docker exec -it name /bin/bash 					#進(jìn)入name(容器名/id)中開(kāi)啟交互式的終端,exit退出

0x05 docker --help中文譯解

Usage:
docker [OPTIONS] COMMAND [arg...]
       docker daemon [ --help | ... ]
       docker [ --help | -v | --version ]
A
self-sufficient runtime for containers.
Options:
  --config=~/.docker              Location of client config files  #客戶端配置文件的位置
  -D, --debug=false               Enable debug mode  #啟用Debug調(diào)試模式
  -H, --host=[]                   Daemon socket(s) to connect to  #守護(hù)進(jìn)程的套接字(Socket)連接
  -h, --help=false                Print usage  #打印使用
  -l, --log-level=info            Set the logging level  #設(shè)置日志級(jí)別
  --tls=false                     Use TLS; implied by--tlsverify  #
  --tlscacert=~/.docker/ca.pem    Trust certs signed only by this CA  #信任證書(shū)簽名CA
  --tlscert=~/.docker/cert.pem    Path to TLS certificate file  #TLS證書(shū)文件路徑
  --tlskey=~/.docker/key.pem      Path to TLS key file  #TLS密鑰文件路徑
  --tlsverify=false               Use TLS and verify the remote  #使用TLS驗(yàn)證遠(yuǎn)程
  -v, --version=false             Print version information and quit  #打印版本信息并退出
Commands:
    attach    Attach to a running container  #當(dāng)前shell下attach連接指定運(yùn)行鏡像
    build     Build an image from a Dockerfile  #通過(guò)Dockerfile定制鏡像
    commit    Create a new image from a container's changes  #提交當(dāng)前容器為新的鏡像
    cp    	  Copy files/folders from a container to a HOSTDIR or to STDOUT  #從容器中拷貝指定文件或者目錄到宿主機(jī)中
    create    Create a new container  #創(chuàng)建一個(gè)新的容器,同run 但不啟動(dòng)容器
    diff      Inspect changes on a container's filesystem  #查看docker容器變化
    events    Get real time events from the server#從docker服務(wù)獲取容器實(shí)時(shí)事件
    exec      Run a command in a running container#在已存在的容器上運(yùn)行命令
    export    Export a container's filesystem as a tar archive  #導(dǎo)出容器的內(nèi)容流作為一個(gè)tar歸檔文件(對(duì)應(yīng)import)
    history   Show the history of an image  #展示一個(gè)鏡像形成歷史
    images    List images  #列出系統(tǒng)當(dāng)前鏡像
    import    Import the contents from a tarball to create a filesystem image  #從tar包中的內(nèi)容創(chuàng)建一個(gè)新的文件系統(tǒng)映像(對(duì)應(yīng)export)
    info      Display system-wide information  #顯示系統(tǒng)相關(guān)信息
    inspect   Return low-level information on a container or image  #查看容器詳細(xì)信息
    kill      Kill a running container  #kill指定docker容器
    load      Load an image from a tar archive or STDIN  #從一個(gè)tar包中加載一個(gè)鏡像(對(duì)應(yīng)save)
    login     Register or log in to a Docker registry#注冊(cè)或者登陸一個(gè)docker源服務(wù)器
    logout    Log out from a Docker registry  #從當(dāng)前Docker registry退出
    logs   	  Fetch the logs of a container  #輸出當(dāng)前容器日志信息
    pause     Pause all processes within a container#暫停容器
    port      List port mappings or a specific mapping for the CONTAINER  #查看映射端口對(duì)應(yīng)的容器內(nèi)部源端口
    ps    	  List containers  #列出容器列表
    pull      Pull an image or a repository from a registry  #從docker鏡像源服務(wù)器拉取指定鏡像或者庫(kù)鏡像
    push      Push an image or a repository to a registry  #推送指定鏡像或者庫(kù)鏡像至docker源服務(wù)器
    rename    Rename a container  #重命名容器
    restart   Restart a running container  #重啟運(yùn)行的容器
    rm    	  Remove one or more containers  #移除一個(gè)或者多個(gè)容器
    rmi    	  Remove one or more images  #移除一個(gè)或多個(gè)鏡像(無(wú)容器使用該鏡像才可以刪除,否則需要?jiǎng)h除相關(guān)容器才可以繼續(xù)或者-f強(qiáng)制刪除)
    run   	  Run a command in a new container  #創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令
    save      Save an image(s) to a tar archive#保存一個(gè)鏡像為一個(gè)tar包(對(duì)應(yīng)load)
    search    Search the Docker Hub for images  #在docker
hub中搜索鏡像
    start     Start one or more stopped containers#啟動(dòng)容器
    stats     Display a live stream of container(s) resource usage statistics  #統(tǒng)計(jì)容器使用資源
    stop      Stop a running container  #停止容器
    tag       Tag an image into a repository  #給源中鏡像打標(biāo)簽
    top       Display the running processes of a container #查看容器中運(yùn)行的進(jìn)程信息
    unpause   Unpause all processes within a container  #取消暫停容器
    version   Show the Docker version information#查看容器版本號(hào)
    wait      Block until a container stops, then print its exit code  #截取容器停止時(shí)的退出狀態(tài)值

0x06 后記

通過(guò)查找資料,對(duì)Docker的理解又加深了,我心甚慰,喜歡這樣的自己。 --涂寐

0x07 知識(shí)鏈接

kali安裝docker和portainer的配置方法

原文鏈接:https://blog.csdn.net/weixin_46318141/article/details/121168812

欄目分類
最近更新