主頁 >  其他 > 【學習筆記】學習Docker,看完這篇超詳細的教程就足夠了

【學習筆記】學習Docker,看完這篇超詳細的教程就足夠了

2020-10-07 11:25:41 其他

本文為觀看B站狂神的視頻學習Docker時所整理的筆記,中間加了一些自己的理解,如果對大家有所幫助,還希望點贊支持一下,后續我會繼續將自己遇到的Docker問題以及學習的新的知識全部整理添加到本文后面或者整理發布新的文章,如果感興趣可以關注一波,

目錄

  • Docker的概述
    • 為什么需要Docker?
    • 簡述虛擬機和Docker容器的區別
    • Docker中的DevOps(開發、運維)
    • Docker的基本組成
  • Docker的安裝
    • 前期準備(看看即可)
    • 開始安裝
    • 如何卸載Docker(了解即可)
    • 配置阿里云鏡像加速
    • Run的流程以及Docker原理
  • Docker的常用命令
    • 查看資訊和幫助命令
    • 鏡像命令
    • 容器命令
    • 常用的其他命令
      • 后臺啟動容器
      • 查看系統CPU狀態
      • 查看日志
      • 查看容器中行程資訊
      • 查看鏡像中的元資料
      • 進入當前正在運行的容器
      • 從容器中拷貝檔案到主機上
  • 常用命令小結
  • 練習
    • 練習一:使用Docker安裝Nginx
    • 練習二:使用Docker部署Tomcat
    • 練習三:使用Docker部署Elasticsearch、Kibana

Docker的概述

在這里插入圖片描述
Docker 是一個開源的應用容器引擎,基于 Go 語言 并遵從 Apache2.0 協議開源,
Docker的官網地址:https://www.docker.com/
檔案地址:https://docs.docker.com/
倉庫地址:https://hub.docker.com/

為什么需要Docker?

傳統的開發問題

  • 環境(切換/配置)麻煩
    在開發一個產品的途中,時常會出現的問題就是:“在我的電腦上可以運行,而到了另外一個開發人員的電腦上就不能使用的問題”,或者是因為版本更新導致服務不可用等等,這對于運維人員來說,壓力十分大,而環境配置是一個非常頭疼的問題,每一個機器都需要部署環境(Redis集群、ES…)十分麻煩且費時費力,并且配置的環境不能跨平臺,非常不方便,
  • 應用之間的沖突(隔離性)
    假如我們將開發的兩個應用部署到同一個服務器上,如果一個應用出了問題,導致CPU出問題上升到了100%,那么第二個應用也會受到關聯;并且如果兩個應用分別使用不同的語言或者技術堆疊,當安裝在同一個服務器上的時候可能就會造成各種沖突/無法兼容,到時候除錯就非常頭疼,如下圖所示:

Docker的出現解決以上問題

  • 關于環境問題解決方案
    Docker可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實作虛擬化,將環境構建打包成一個鏡像發布到網上,想要用這個環境的時候就直接拉取一份就OK了,

  • 解決應用之間隔離問題
    Docker核心思想就是使用容器化技術,打包裝箱,每個箱子是互相隔離的,容器是完全使用沙箱機制,相互之間不會有任何介面(類似 iPhone 的 app),更重要的是容器性能開銷極低,如下圖所示:
    在這里插入圖片描述

簡述虛擬機和Docker容器的區別

這里參考知乎上大佬的說法:https://www.zhihu.com/question/48174633
服務器虛擬化解決的核心問題是資源調配,而容器解決的核心問題是應用開發、測驗和部署,

  • 使用Docker容器和使用虛擬機在運行多個相互隔離的應用時對比,Docker要簡潔很多;
  • Docker守護行程可以直接與主作業系統進行通信,為各個Docker容器分配資源;它還可以將容器與主作業系統隔離,并將各個容器互相隔離,
  • 虛擬機啟動需要數分鐘,而Docker容器可以在數毫秒內啟動,由于沒有臃腫的從作業系統,Docker可以節省大量的磁盤空間以及其他系統資源,
  • 虛擬機更擅長于徹底隔離整個運行環境,例如,云服務提供商通常采用虛擬機技術隔離不同的用戶,而Docker通常用于隔離不同的應用,例如前端,后端以及資料庫,
  • 傳統的虛擬機,首先是虛擬出一條硬體,運行一個完整的作業系統,然后在這個系統上安裝和運行軟體;
  • Docker容器內的應用直接運行在宿主機的內容,容器是沒有自己的內核的,也沒有虛擬我們的硬體,所以就輕巧了很多;

Docker中的DevOps(開發、運維)

(1)應用更快速的交付和部署

  • 傳統:一堆的幫助檔案和安裝程式
  • Docker:打包鏡像發布測驗,一鍵運行

(2)更快捷的升級和擴縮容

  • 使用了Docker以后我們部署應用就像搭積木一樣;
  • 專案打包成一個鏡像

(3)更簡單的系統運維

  • 在容器話之后我們的開發、測驗環境都是高度一致的

(4)更高效的計算資源利用

  • Docker是內核級別的虛擬化,可以再一個物理機上可以運行很多的容器實體!服務器的性能可以被壓榨到極致,

Docker的基本組成

在這里插入圖片描述

  • 鏡像(image):docker鏡像就好比是一個模板,可以通過這個模板來創建容器服務,tomcat鏡像—>run---->tomcat01容器(提供服務),通過這個鏡像可以創建多個容器(最終服務運行或者專案運行就是在容器中運行的),

  • 容器(container):docker利用容器技術,獨立運行一個或者一組應用,通過鏡像來創建的,啟動、停止、洗掉、基本命令,目前就可以把這個容器理解為就是一個簡易的Linux系統,

  • 倉庫(repository):倉庫就是存放鏡像的地方,倉庫分為公有倉庫和私有倉庫,Docker Hub(默認是國外的)、阿里云…都有容器服務器(配置鏡像加速)

Docker的安裝

前期準備(看看即可)

不一樣的話也行,主要是看Centos的版本
運行環境:阿里云服務器 Centos 7
連接工具:XShell 5
需要掌握:Linux的基本命令
由于這里的運行環境是Centos 7,與Centos 6的命令還是有一些區別的,但是區別不大,后面我會將命令詳細的介紹,

查看環境

  • 系統內核是3.10以上的
[root@oldou ~]#  uname -r
3.10.0-957.21.3.el7.x86_64
  • 查看系統的版本:
    cat /etc/os-release
    在這里插入圖片描述

開始安裝

這里可以參考官網的幫助檔案進行安裝
在這里插入圖片描述
在這里插入圖片描述
地址:https://docs.docker.com/engine/install/centos/

第一步:卸載舊版本(運行以下代碼即可)

 yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

在這里插入圖片描述
第二步:安裝yum工具包
命令:yum install -y yum-utils

第三步:設定鏡像倉庫

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo   
    # 這里默認是國外的,十分的慢,我們用以下阿里云的地址
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo   
    # 這是阿里云的docker鏡像地址,建議使用這個 

在這里插入圖片描述
更新一下yum索引:
命令:yum makecache fast
在這里插入圖片描述
第四步:安裝Docker
docker-ce:社區版 ee:企業版
命令:yum install docker-ce docker-ce-cli containerd.io
在這里插入圖片描述
注意:以上是安裝Docker最新的版本,如果想要安裝指定的版本,就需要進行以下命令:
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
這里的<VERSION_STRING>表示版本,
在這里插入圖片描述
第五步:啟動Docker
命令:systemctl start docker
注意:Centos6使用的是service,而Centos7使用的都變成了systemctl

第六步:查看Docker是否安裝成功
命令:docker version
在這里插入圖片描述
查看Docker的狀態: systemctl status docker
在這里插入圖片描述
第七步:測驗hello-word
命令:docker run hello-world
在這里插入圖片描述
第八步:查看一下剛剛下載的hello-word的這個鏡像
命令:docker images
在這里插入圖片描述

如何卸載Docker(了解即可)

官網中有介紹,下面我給出來:
第一步:卸載依賴
命令:yum remove docker-ce docker-ce-cli containerd.io

第二步:洗掉資源 安裝的資源都在/var/lib/docker目錄下
命令:rm -rf /var/lib/docker

這樣就OK了,

配置阿里云鏡像加速

由于我們拉取鏡像的時候,使用國外的下載太慢了,當然我們這里是使用國內阿里云的,所以肯定比國外的訪問和下載快,這個時候再配個加速器就美滋滋,

第一步:登錄我們的阿里云控制臺,然后找到容器鏡像服務
在這里插入圖片描述
第二步:找到鏡像加速器---->鏡像加速地址
在這里插入圖片描述
第三步:配置使用(直接復制命令運行即可)

(1)在服務器中創建一個目錄sudo mkdir -p /etc/docker

(2)編輯組態檔

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://7ih0bv9h.mirror.aliyuncs.com"]
}
EOF

在這里插入圖片描述
(3)將服務重啟:sudo systemctl daemon-reload

(4)啟動docker:sudo systemctl restart docker

這樣就配置完成了,

Run的流程以及Docker原理

回顧hello-word的流程
在這里插入圖片描述
就拿我們運行hello-word來說,一開始我們運行hello-word的時候,Docker會在本機中尋找鏡像,而本機中沒有這個鏡像,所以就回去我們配置的Hub上去下載鏡像,如果找到了就將鏡像下載到本地運行,如果沒有就回傳錯誤,如下所示:
在這里插入圖片描述
底層原理

(1)Docker是怎么作業的?

  • Docker是一個Client-Server結構的系統,Docker的守護行程運行在本機上(運行在后臺,和mysql一樣),通過Socket從客戶端訪問,
  • DockerServer接收到Docker-Client的指令,就會執行這個命令,
    在這里插入圖片描述
    (2)Docker為什么比虛擬機(VM)快?
    在這里插入圖片描述
  • Docker利用的是宿主機的內核,VM需要的是Guest OS
    所以說,新建一個容器的時候,Docker不需要像虛擬機那樣重新加載一個作業系統內核,避免引導,虛擬機是加載Guest OS,是分鐘級別的,而Docker利用的是宿主機的作業系統,省略了這個復雜的程序,
    在這里插入圖片描述

Docker的常用命令

官方幫助檔案:https://docs.docker.com/engine/reference/run/

查看資訊和幫助命令

命令:docker version # 查看docker的版本資訊
在這里插入圖片描述
命令:docker info # 顯示Docker的系統資訊,包括鏡像和容器的數量

命令:docker xxx --help #幫助命令,可以顯示docker的所有命令

鏡像命令

查看鏡像
命令:docker images # 查看所有本地的主機上的鏡像
在這里插入圖片描述

REPOSITORY  :鏡像的倉庫源
TAG					 :鏡像的標簽
IMAGE ID		 :鏡像的ID
CERATED		 :鏡像的創建時間
SIZE				 :鏡像的大小

docker  images  [可選項]
-a    , --all        # 列出所有鏡像
-q	   , --quiet    # 只顯示鏡像的ID

搜索鏡像
命令:docker search 鏡像名 # 搜索鏡像

可選項,通過搜過過濾
 --filter-STARS=3000   #搜索出來的鏡像修飾STARS大于3000的

在這里插入圖片描述
下載鏡像
命令:docker pull 鏡像名 [:tag]# 下載鏡像,默認是下載最新版 latest ,
在這里插入圖片描述
如果是下載指定版本的鏡像,那么就需要指定:版本號,如下所示:
docker pull mysql:5.7 # 指定版本下載 下載mysql5.7

洗掉鏡像

# 洗掉鏡像  -f就是全部洗掉,后面的條件是根據什么來洗掉,這里是根據容器的id進行洗掉
docker  rmi -f  容器id   

# 洗掉多個鏡像
docker  rmi -f  容器id  容器id 容器id    

# 洗掉所有的鏡像 
docker  rmi -f $(docker images -aq)  

容器命令

說明:我們有了鏡像才可以去創建容器,Linux,下載一個centos鏡像來進行學習,

下載centos鏡像
命令:docker pull centos

新建容器并啟動
命令:docker run [可選引數] image

引數說明:
--name="Name" : 容器名字 ,tomcat01、tomcat02,用來區分容器
-d :后臺方式運行                                
-it:使用互動方式運行,進入容器查看內容
-p :指定容器的埠   -p  8080:8080  
        -p     ip:主機埠:容器埠                                
        -p     主機埠:容器埠(常用方式)
        -p     容器埠                                                     
        容器埠                                                             
-p: 隨機指定埠     

測驗,啟動并進入容器
命令:docker run -it centos /bin/bash #啟動容器
命令: ls # 查看容器內的centos,基礎版本,很多命令都是不完善的
命令:exit # 從容器中退回到主機

列出所有運行中的容器
命令:docker ps [可選引數] # 列出當前正在運行的程式

-a             #列出當前正在運行的容器+帶出歷史運行過的容器
-n=?      #顯示最近創建的容器  
-p            #只顯示容器的編號

在這里插入圖片描述

退出容器
命令:

exit                     # 直接停止容器并退出
Ctrl + P + Q             # 容器不停止退出

洗掉容器

docker rm  容器id        # 洗掉指定的容器,不能洗掉正在運行的容器
docker rm -f $(docker ps -aq)       # 洗掉所有的容器   
docker ps -a -q|xargs docker rm     # 洗掉所有的容器

啟動和容器的操作

docker start 容器id                  # 啟動容器
docker restart 容器id                # 重啟容器
docker stop 容器id                   # 停止正在運行的容器
docker kill 容器id                   # 強制停止當前正在運行的容器 

常用的其他命令

后臺啟動容器

命令:docker run -d 鏡像名

docker run -d centos            # 后臺啟動centos
  • 問題:使用docker ps查看,發現 centos停止了

  • 常見的坑:docker容器使用后臺運行的時候就必須要一個前臺執行緒,不然docker發現沒有應用就會自動停止

  • 例如:nginx容器啟動后,發現自己沒有提供服務就會立刻停止,就是沒有程式了,

查看系統CPU狀態

命令:docker stats [容器id]
在這里插入圖片描述

查看日志

命令:docker logs -tf --tail 容器,沒有日志

  • 撰寫一段shell腳本
docker run -d centos /bin/sh -c "while true; do echo oldouTest;sleep 1;done"
  • 使用docker ps去查看
  • 顯示日志 :docker logs -tf --tail number 容器id
-tf                  #顯示日志
--tail number        #要顯示日志條數 

例如:docker logs -tf --tail 10 容器id

查看容器中行程資訊

命令:docker top 容器id

查看鏡像中的元資料

命令:docker inspect 容器id

進入當前正在運行的容器

我們的容器通常都是使用后臺方式運行的,需要進入容器,修改一些配置
方式一:
命令:docker exec -it 容器id bashShell
例如:docker exec -it bb6ddb943ea5 /bin/bash
在這里插入圖片描述
方式二:
命令:docker attach 容器id
在這里插入圖片描述
兩種方式的對比

  • docker exec: 進入容器后開啟一個新的終端,可以在里面操作(常用)
  • docker attach:進入容器正在執行的終端,不會啟動新的行程

從容器中拷貝檔案到主機上

在這里插入圖片描述

# 進入到容器內:
[root@oldou home]# docker exec -it bb6ddb943ea5 /bin/bash  
[root@bb6ddb943ea5 /]# cd home
[root@bb6ddb943ea5 home]# ls

# 創建一個java檔案
[root@bb6ddb943ea5 home]# touch Test.java 
[root@bb6ddb943ea5 home]# ls
Test.java

# 退出容器回到主機
[root@bb6ddb943ea5 home]# exit
exit

#查看當前運行的容器
[root@oldou home]# docker ps

# 將容器內/home目錄下的Test.java檔案拷貝到主機的home目錄下
[root@oldou home]# docker cp bb6ddb943ea5:/home/Test.java /home
[root@oldou home]# ls
Test.java

拷貝只是一個手動的程序,后面學習了 -v 卷的技術時,可以實作同步資料

常用命令小結

在這里插入圖片描述

命令英文描述中文意思
attachAttach to a running container當前shell下attach連接指定運行鏡像
buildBuild an image from a Dockerfile通過Dockerfile定制鏡像
commitCreate a new image from a container changes提交當前容器為新的境像
cpcopy files/folders from the containers filesystem to the host path從容器中拷貝指定檔案或者目錄到宿主機中
createCreate a new container創建一個新的容器,同run.但不啟動容器
diffInspect changes on a container’s filesystem查看docker容器變化
eventsGet real time events from the server從docker服務中獲取容器實時事件
exportStream the contents of a container as a tar archive匯出容器的內容流作為一個 tar歸檔檔案[對應import]
historyShow the history of an image展示一個境像形成歷史
imagesList images列出系統當前所有鏡像
importCreate a new filesystem image from the contents of a tarball從tar包中的內容創建一個新的檔案系統映像[對應export]
infoDisplay system-wide information顯示系統相關資訊
inspectReturn low-level information on a container查看容器詳細資訊
killKill a running containerkill指定docker容器
loadLoad an image from a tar archive從—個 tar包中加載一個鏡像[對應save]
loginRegister or Login to the docker registry server注冊或者登陸一個docker源服務器
logoutLog out from a Docker registry server從當前Docker registry退出
logsFetch the logs of a container輸出當前容器日志資訊
portLookup the public-facing port which is NAT-ed to PRIVATE_PORT查看映射埠對應的容器內部源端
pausePause all processes within a container暫停容器
psList containers列出容器串列
pullPull an image or a repository from the docker registry server從docker鏡像服務器中拉取指定鏡像或者庫鏡像
pushpush an image or a repository to the docker registry server推送指定鏡像或者庫鏡像至docker源服務器
restartRestart a running container重啟運行的容器
rmRemove one or more containers移除—個或者多個容器
rmiRemove one or more images移除一個或多個境像[無容器使用該鏡像才可洗掉,否則需洗掉相關容器才可能繼續或者 -f 強制洗掉
runRun a command in a new container創建—個新的容器并運行一個命令
saveSave an image to a tar arehive保存一個鏡像為—個tar包「對應load]
searchSearch for an image on the Docker Hub在docker hub中搜索鏡像
startstart a stopped containers啟動容器
stopstop a stopped containers停止容器
tagTag an image into a repository給源中鏡像打標簽
topLookup the running processes of a container查看容器中運行的行程資訊
unpauseUnpause a paused container取消暫停容器
versionshow the docker version information查看docker版本號
waitBlock until a container stops,then print its exit code截取容器停止時的退出狀態值

練習

練習一:使用Docker安裝Nginx

官網:https://hub.docker.com/_/nginx

第一步:搜索鏡像(這里建議去docker Hub上查找一下版本資訊,上面還有幫助檔案介紹)
命令:docker search nginx

第二步:下載鏡像
命令:docker pull nginx

第三步:查看鏡像并且啟動
命令:docker images # 查看所有鏡像

**命令:docker run -d --name nginx01 -p 3344:80 nginx

-d 表示后臺運行,--name 表示給容器起名字,而nginx01表示起的名字,
-p 宿主機埠 :容器內部埠

后面的3344表示主機開發的3344埠,80表示容器內部的埠,這里表示將80埠映射到外部的3344,
可以通過公網的3344訪問到docker里面的80埠,后面的nginx表示的是鏡像名字,

在這里插入圖片描述
第四步:查看容器并且運行測驗
命令:docker ps #查看是否啟動
命令:curl localhost:3344
在這里插入圖片描述
關閉防火墻systemctl stop firewalld

到這一步的時候我們就可以使用 公網ip:3344 在瀏覽器訪問了
在這里插入圖片描述
第五步:進入Nginx容器
命令:docker exec -it nginx01 /bin/bash #進入容器

命令:whereis nginx

命令:cd /etc/nginx

命令:ls查看

命令:exit #退出

命令:docker stop 容器id #停止Nginx容器
在這里插入圖片描述
埠暴露的概念:
在這里插入圖片描述
思考問題:我們每次改動nginx組態檔,都需要進入容器內部?十分的麻煩,我要是可以在容器外部提供一個映射路徑,達到在容器修改檔案名,容器內部就可以自動修改?
使用 -v資料卷,

練習二:使用Docker部署Tomcat

官網:https://hub.docker.com/_/tomcat

方式一:

  • 官方給出的命令:
    docker run -it --rm tomcat:9.0 # 下載并啟動
    上面介紹Nginx的啟動都是后臺啟動,停止了容器以后,容器還是可以查到,并且占用著配置的埠,
    使用官方給出的 docker run -it --rm tomcat:9.0 ,一般用于測驗,用完停止就洗掉

方式二:
還是使用之前的方式,

  • 第一步:搜索鏡像(這里建議去docker Hub上查找一下版本資訊,上面還有幫助檔案介紹)
    命令:docker search tomcat

  • 第二步:下載鏡像
    命令:docker pull tomcat # 這是下載最新版的tomcat
    命令: docker pull tomcat:7.0 # 指定版本號

  • 第三步:查看鏡像并且啟動
    命令:docker images # 查看所有鏡像
    命令:docker run -d --name tomcat01 -p 3355:8080 tomcat:7.0

-d 表示后臺運行,--name 表示給容器起名字,而tomcat01表示起的名字,
-p 宿主機埠 :容器內部埠

后面的3355表示主機開發的3355埠,8080表示容器內部的埠,這里表示將8080埠映射到外部的3355,
可以通過公網的3355訪問到docker里面的8080埠,后面的tomcat表示的是鏡像名字,

我們這個時候去瀏覽器訪問發現,報了404例外,那我們進入到tomcat容器內部查看一下原因.

  • 第四步:進入容器查看原因
    命令:docker exec -it tomcat01 /bin/bash
    當我們使用ll命令時竟然不能使用,只能使用ls命令查看,同時進入到webapps目錄下發現這個目錄竟然是空的,

發現問題:
1、Linux的命令少了;
2、webapps目錄下沒有檔案;

原因:
阿里云的鏡像默認是最小的鏡像,它把所有不必要的都剔除掉了,保證最小可運行的環境,

解決辦法:
在tomcat目錄下有一個webapps.dist目錄,這個目錄下有我們所需要的檔案,也就是webapps目錄所需要的檔案,我們將這個檔案中的內容全部拷貝到webapps下,

  • 第五步:拷貝資源
    命令:cp -r webapps.dist/* webapps

這樣我們再去瀏覽器中去訪問就可以訪問到了,

思考問題:我們以后要部署專案,如果每次都要進入容器是不是十分麻煩?要是可以在容器外部提供一個映射路徑,webapps ,我們在外部放置專案,就自動同步到內部就好了!

練習三:使用Docker部署Elasticsearch、Kibana

由于暫時沒有學過Elasticsearch,所以暫時沒有做這個部分的筆記,只是暫時看了一遍,后續補上…

后續筆記待更新中…

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/161159.html

標籤:其他

上一篇:Hadoop源代碼分析【1-5】

下一篇:node.js連接mysql資料庫,封裝成api。

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more