溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

docker基礎(chǔ)知識(shí)點(diǎn)有哪些

發(fā)布時(shí)間:2021-12-13 11:32:12 來(lái)源:億速云 閱讀:146 作者:iii 欄目:網(wǎng)絡(luò)管理

本篇內(nèi)容介紹了“docker基礎(chǔ)知識(shí)點(diǎn)有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

一、docker概述

1.為什么要提出docker?

將一個(gè)應(yīng)用項(xiàng)目上線時(shí),需要在服務(wù)器配置復(fù)雜的環(huán)境,過(guò)于費(fèi)時(shí)費(fèi)力,以及在同一臺(tái)服務(wù)器上部署不同的應(yīng)用,可能產(chǎn)生沖突。

2.傳統(tǒng)與現(xiàn)在應(yīng)用部署的不同?

a.傳統(tǒng):開(kāi)發(fā)人員開(kāi)發(fā)代碼包,直接交給運(yùn)維人員,再由運(yùn)維人員部署運(yùn)行環(huán)境,應(yīng)用上線

b.現(xiàn)在:開(kāi)發(fā)打包部署上線,一套流程完成

3.docker的優(yōu)勢(shì)?

a.docker將多個(gè)應(yīng)用通過(guò)容器隔離起來(lái),放在同一個(gè)服務(wù)器上運(yùn)行,可以避免不同應(yīng)用部署在同一臺(tái)服務(wù)器上而產(chǎn)生的沖突問(wèn)題

b.docker也可以利用隔離機(jī)制將服務(wù)器的資源利用到極致

4.docker的相關(guān)網(wǎng)站?

a.官網(wǎng)

b.官方文檔

c.鏡像倉(cāng)庫(kù)

二、容器化和虛擬化技術(shù)介紹

a.虛擬化技術(shù)

下載系統(tǒng)的原生鏡像文件,一般都是幾個(gè)G大小,然后安裝在VM中,十分笨拙

b.容器化技術(shù)

通過(guò)docker鏡像倉(cāng)庫(kù),或者阿里云鏡像倉(cāng)庫(kù)下載鏡像(一般就幾M,或者幾百M(fèi)),在通過(guò)鏡像創(chuàng)建容器,容器之間彼此隔離,使用起來(lái)小巧方便

c.兩種技術(shù)優(yōu)缺點(diǎn)對(duì)比

虛擬化技術(shù):可以較好且完整的模擬出一臺(tái)計(jì)算機(jī),但其占宿主主機(jī)的資源較多,安裝部署步驟多,操作麻煩,啟動(dòng)慢
容器化技術(shù):其不是模擬出一個(gè)完整的操作系統(tǒng),容器內(nèi)的應(yīng)用是直接運(yùn)行在宿主主機(jī)上,容器并沒(méi)有自己的內(nèi)核,也沒(méi)有虛擬自己的硬件。每個(gè)容器之間都是相互隔離的,都有自己的文件系統(tǒng),互不影響

三、docker的作用

a.應(yīng)用更快速的交付和部署

docker打包鏡像發(fā)布測(cè)試,一鍵運(yùn)行

b.更快捷的升級(jí)和擴(kuò)縮容

c.更簡(jiǎn)單的系統(tǒng)運(yùn)維

d.更高效的利用計(jì)算機(jī)資源

可以在一臺(tái)物理機(jī)上運(yùn)行多個(gè)容器實(shí)例,從而保證充分利用服務(wù)器的資源,把性能壓縮到極致

四、docker安裝

地址:https://blog.csdn.net/qq_44316726/article/details/108557361

五、run的運(yùn)行流程和底層原理

1.當(dāng)我們使用docker run命令創(chuàng)建一個(gè)容器時(shí),其運(yùn)行流程如下

a.docker會(huì)在本機(jī)上搜索鏡像,判斷其是否存在

b.若在本機(jī)上找到該鏡像,就使用該鏡像創(chuàng)建容器。否則,進(jìn)行下一步

c.去docker Hub官網(wǎng)下載鏡像,若找到了該鏡像就下載到本地,并使用其創(chuàng)建容器。若沒(méi)有找到該鏡像,就返回錯(cuò)誤

2.底層原理

docker是一個(gè)Client-Server結(jié)構(gòu)的系統(tǒng),docker的守護(hù)進(jìn)程運(yùn)行在主機(jī)上,使用者通過(guò)Socket從客戶端訪問(wèn)該進(jìn)程。docker-Server在接收到docker-Client的指令后,會(huì)執(zhí)行該指令

六、docker的常用命令

a.幫助命令

docker version                                          #顯示docker的版本信息

docker info                                               #顯示詳細(xì)的系統(tǒng)詳細(xì),包括鏡像和容器的數(shù)量

docker 命令 --help                                   #顯示該命令的詳細(xì)信息,以及使用方法

b.鏡像命令

查看鏡像:

docker  images                                        #查看本地主機(jī)上的鏡像

#參數(shù)介紹    -a  列出所有鏡像            -q    只顯示鏡像的id

搜素鏡像

docker search  鏡像名

#參數(shù)介紹    --f        過(guò)濾選項(xiàng)

實(shí)例:docker search --filter=SIZE=5000 mysql

下載鏡像

docker pull 鏡像名                                   #默認(rèn)下載最新版本的鏡像

docker pull 鏡像名:版本號(hào)                       #下載指定版本

刪除鏡像

docker rmi -f 鏡像id                                 #刪除一個(gè)鏡像

docker rmi -f 鏡像id  鏡像id                     #刪除多個(gè)鏡像

docker rmi -f $(docker image -aq)           #刪除所有本地的鏡像

c.容器命令

注意:我們只有有了鏡像,才可以常見(jiàn)容器

新建并啟動(dòng)容器

docker run [選項(xiàng)] 鏡像名

#選項(xiàng)解釋

--name='centos01'                                   #指定容器的名稱,用于區(qū)分同一鏡像創(chuàng)建的不同容器

-d                                                              #后臺(tái)運(yùn)行

-it                                                              #交互式運(yùn)行,并進(jìn)入容器查看內(nèi)容

-p                                                              #指定容器的端口

-p   ip:主機(jī)端口:容器端口

-p   主機(jī)端口:容器端口

-p   容器端口

容器端口

-P                                                              #隨機(jī)指定端口

列出運(yùn)行的容器

docker ps [選項(xiàng)]                                        #列出正在運(yùn)行的容器

選項(xiàng)解釋

-a                                                              #列出正在運(yùn)行的容器+歷史上運(yùn)行的容器

-n=數(shù)字                                                    #列出最近的進(jìn)程容器

-q                                                              #只顯示容器的編號(hào)

退出容器

exit                                                           #退出并停止容器

Ctrl+q+p                                                  #退出不停止容器

刪除容器

docker rm 容器id                                     #刪除指定容器,但不可以刪除正在運(yùn)行中的容器

docker rm -f  容器id                                #可以刪除正在運(yùn)行中的容器

docker rm -f $(docker ps -aq)                 #刪除所有容器

啟動(dòng)停止容器

docker start 容器id

docker restart 容器id

docker stop 容器id

docker kill 容器id                #強(qiáng)制停止容器

七、docker的高級(jí)命令

a.查看日志

docker logs --tf --tail 日志顯示條數(shù) 容器id

b.查看容器中的進(jìn)程數(shù)

docker top 容器id

c.查看鏡像的元數(shù)據(jù)

docker inspect 容器id

d.進(jìn)入后臺(tái)運(yùn)行

docker exec -it 容器id /bin/bash     #進(jìn)入容器后,會(huì)開(kāi)啟新的終端,在里面操作

docker attach 容器id     #進(jìn)入容器后,不會(huì)開(kāi)啟新的終端,直接使用正在運(yùn)行的終端

e.將容器中的文件拷貝的物理主機(jī)上

docker cp 容器id:容器內(nèi)路徑  物理主機(jī)的目標(biāo)路徑

“docker基礎(chǔ)知識(shí)點(diǎn)有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI