Docker的三要素 映象,容器,倉庫,及相關命令

2022-06-25 03:18:15 字數 4009 閱讀 1411

docker的三要素:映象,容器,倉庫

docker是利用容器獨立執行的乙個或一組應用,容器是用映象建立的執行例項

它可以被啟動,開始,停止,刪除。每個容器都是相互隔離的,保證安全的平台。可以把容器看作是乙個簡易版的linux環境(包括root使用者許可權,程序空間,使用者空間,網路空間等)和執行在其中的應用程式

容器的定義和映象幾乎一模一樣,也是一堆層的統一視角,唯一區別在於容器最上面那一層是可讀可寫的

倉庫:是集中存放映象檔案的場所

倉庫和倉庫註冊伺服器是有區別的,倉庫註冊伺服器上往往存放著多個倉庫,每個倉庫中又包含了多個映象,每個映象有不同的標籤(類似版本號)

倉庫分為公開倉庫,和私有倉庫兩種形式

需要正確理解倉儲,映象,容器這幾個概念:

docker本身是乙個容器執行載體或稱之為管理引擎。我們把應用程式和配置依賴打包好形成乙個可交付的執行環境,這個打包好的執行環境就是image映象檔案。

只有通過這個映象檔案才能生成docker容器。image檔案可以看作是容器的模板。

docker根據image檔案生成的容器例項。

同乙個image檔案,可以生成多個同時執行的容器例項。

image檔案生成的容器例項,本身也是乙個檔案,稱為映象檔案。

乙個容器執行一種服務,當我們需要的時候,就可以通過docker客戶端建立乙個對應的執行例項,也就是我們的容器。

至於倉庫,就是放了一堆映象的地方,我們可以把映象發布到倉庫中去,需要的時候從倉庫拉下來就行。

docker是怎麼工作的?

docker是乙個client-server結構的系統,docker守護程序執行在主機上,然後通過socket連線從客戶端訪問,守護程序從客戶端接受命令並管理執行在主機上的容器。

容器,是乙個執行時環境

docker映象的基本命令:

幫助命令

docker version    列印當前docker版本資訊

docker  info  列印docker更詳細的資訊,外掛程式資訊和映象資訊,和容器數量

docker --help   幫助命令,不會就查這個

映象命令:

docker images    顯示所有的映象

docker images --help   檢視這個命令的幫助資訊

##解釋

repository :映象的倉庫源

tag :映象的標籤

image id :映象的id

created :映象建立時間

size:映象的大小

##可選項

docker images -a     #列出所有的映象

docker images -q    #列出映象的id

docker images -aq   #列出所有的映象的id

docker search   搜尋映象 ,例如:docker search tomcat

刪除映象

docker rmi -f   映象id1 映象id2 映象id3   刪除多個映象

docker rmi -f   映象id   通過id刪除某一映象

docker rmi -f $(docker images -aq)    通過命令遞迴刪除所有映象

docker之容器命令

說明,有了映象才可以建立容器

建立容器

docker craate --name=容器名稱  所在映象名稱

docker craate --name=mytomcat  tomcat

啟動容器

docker start   容器id 

重啟容器

docker restart 容器id

停止當前容器

docker stop 

殺死容器,強制停止容器

docker  kill  

檢視已執行的容器

docker ps

檢視所有的容器

docker  run -it  centos    /bin/bash    ##啟動並進入到容器

注意:首先,docker run -it centos 的意思是,為centos這個映象建立乙個容器

-it就等於 -i和-t,這兩個引數的作用是,為該docker建立乙個偽終端,這樣就可以進入到容器的互動模式?(也就是直接進入到容器裡面)

後面的/bin/bash的作用是表示載入容器後執行bash ,docker中必須要保持乙個程序的執行,要不然整個容器啟動後就會馬上kill itself,這個/bin/bash就表示啟動容器後啟動bash。

建立容器並進入命令列

docker  run -it  --name=mytomcat  tomcat   /bin/bash

從容器中退回主機的命令:exit

列出所有執行中的容器:docker ps

列出所有執行中的容器包括曾經執行過的容器:docker ps -a

列出最近建立的容器:docker ps -a -n=1     (最近建立的1個)

只顯示容器的編號:docker ps -aq  

退出容器:

exit  ##停止容器,並退出

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

刪除容器

docker rm  容器id   ##刪除指定容器,不能刪除正在執行的容器,強制刪除要加  -f

刪除所有容器,先停掉容器

docker  stop $(docker ps -a -q) 

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

常用的其他命令(重要)

啟動守護式容器:docker run -d  容器id  

docker容器後台執行

檢視容器中程序的命令

docker top  容器id

uid  是使用者id

pid 是父id 

ppid  是程序id

執行容器的命令

docker run 後面的引數

docker run -i  執行容器

docker run -d  守護程序,後台執行

docker run -t   容器啟動後,進入命令列

docker run -v   目錄對映 --掛載

檢視日誌命令

docker logs

檢視映象的元資料

docker inspect   容器id

退出容器後,想重新進入當前正在執行的容器

docker exec -it  容器id   /bin/bash

或者docker attach 容器id

上述兩個命令有什麼區別呢?attach是直接進容器啟動命令終端,不會啟動新的程序

exec是在容器中開啟新的終端,並且可以啟動新的程序

訪問tomcat(重點)

啟動並作為守護程序

-p 宿主機的埠:容器應用裡的埠

war包掛載宿主機 -v   宿主機路徑:容器路徑

docker exec -it mytomcat6 /bin/bash

Docker 三 映象 容器的使用

列出映象列表 docker images各個選項說明 查詢映象 我們也可以使用 docker search 命令來搜尋映象。比如我們需要乙個nginx的映象來作為我們的 web 服務。我們可以通過 docker search 命令搜尋nginx來尋找適合我們的映象。當我們用pull命令拉取映象時,如...

習慣的養成 三要素

1.暗示訊號 2.管理行為 3.獎勵 需要解決的問題 最近我在為自己的習慣養成問題而苦惱,好的習慣很難保持,但是不好的習慣似乎一下就可以養成了,而且越來越嚴重,比如熬夜,這個習慣很不好!依據 原來早在2005年,mit的麥戈文腦科學研究院就已經做過有關大腦習慣養成的實驗,當時用乙個t行台,老鼠在t字...

資料模型的三要素

資料結構 資料操作 資料約束。是計算機儲存 組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合,即帶 結構 的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。資料結構往往同高效的檢索演算法和索引技術有關。資料模型中資料操作主要描述在相應的資料結構...