Docker簡介 常用命令與實踐(一)

2021-09-13 09:46:31 字數 3270 閱讀 3279

docker的思想來自於貨櫃

貨櫃解決了什麼問題?在一艘大船上,可以把貨物規整的擺放起來。並且各種各樣的貨物被貨櫃標準化了,貨櫃和貨櫃之間不會互相影響。那麼我就不需要專門運送水果的船和專門運送化學品的船了。只要這些貨物在貨櫃裡封裝的好好的,那我就可以用一艘大船把他們都運走。

可是這個箱子為什麼這麼神奇呢?無非就是兩個字:標準

是的!標準!標準!標準!

按照這個思路,docker 其實跟貨櫃一樣,或者說它想跟貨櫃一樣,成為「標準化」。

這就是 docker 的實質:標準化。

docker帶來了哪些好處

粗略來說,docker好處有:

1.保證了線上線下環境的一致性3.實現了沙盒機制,提高了安全性4.實現了模組化,提高了復用性設想乙個如下場景:

5.實現了虛擬化,提高硬體利用率總結:

docker背後的想法是建立軟體程式可移植的輕量級容器,讓其可以在任何安裝了docker的機器上執行,並不用關心底層作業系統,就像野心勃勃的造船者們成功建立了貨櫃而不需要考慮裝在哪種船舶上一樣。

只有乙個共同目標:簡化部署流程,提高生產力!

參考:如何通俗解釋docker是什麼?

docker基於lxc(linux容器),在lxc的基礎上進一步封裝,使得操作更簡單,就像操作乙個輕量級的虛擬機器一樣。

先上圖,vm與docker框架,直觀上來講vm多了一層guest os,同時hypervisor會對硬體資源進行虛擬化,docker直接使用硬體資源,所以資源利用率相對docker低也是比較容易理解的

乙個ibm測試案例,關於計算能力的,對於kvm為什麼會有這麼大的效能損失,一方面是因為虛擬機器增加了一層虛擬硬體層,執行在虛擬機器上的應用程式在進行數值計算時是執行在hypervisor虛擬的cpu上的;另外一方面是由於計算程式本身的特性導致的差異。虛擬機器虛擬的cpu架構不同於實際cpu架構,數值計算程式一般針對特定的cpu架構有一定的優化措施,虛擬化使這些措施作廢,甚至起到反效果。

參考:docker與虛擬機器效能比較

總結:

貨櫃:程式部署,保證執行環境不會出錯。

標準化:隔離:linux核心限制機制lxc。lxc是一種核心虛擬化技術,可以提供輕量級的虛擬化,以便隔離程序和資源。

docker使用c/s架構,通過docker客戶端連線到docker伺服器上從而管理docker伺服器裡面的映象和容器,類似於git的架構。

三個docker基本概念

image(映象):類似於模板,包含軟體執行環境和**。例如包含完整的centos系統,並安裝了jre。映象用於建立docker容器,映象本身是唯讀的。

container(容器):docker利用容器來執行應用,容器是從映象建立的執行例項。它可以被啟動、停止、刪除,每個容器相互隔離。

repository(倉庫):幾種存放docker映象的場所。最大的倉庫未dockey hub,國內網易蜂巢:等。乙個倉庫包含多個映象。倉庫可以分為私有和共有。私有的倉庫可以push和pull。倉庫註冊伺服器(registry)往往包含多個倉庫。

build-構建映象 - 貨櫃 - 映象

ship-運輸映象(從倉庫和我們的主機上運輸)- 碼頭 - 倉庫

run- 執行映象(執行的映象就是乙個容器,可以當成乙個「虛擬機器」) - 執行程式的地方 - 容器

docker映象檔案都是唯讀的,只有最上層是可以寫

容器的本質是乙個程序。

docker系統有兩個程式:docker服務端和docker客戶端。其中docker服務端是乙個服務程序,管理著所有的容器。docker客戶端則扮演著docker服務端的遠端控制器,可以用來控制docker的服務端程序。大部分情況下,docker服務端和客戶端執行在一台機器上。

檢查docker的版本,這樣可以用來確認docker服務在執行並可通過客戶端鏈結。

$docker version
鑑於國內網路問題,後續拉取 docker 映象十分緩慢,強烈建議安裝 docker 之後配置 國內映象加速。

1.進入

2.登入阿里雲進入後台

配置加速器之後,如果拉取映象仍然十分緩慢,請手動檢查加速器配置是否生效,在命令列執行docker info,如果從結果中看到了如下內容,說明配置成功。

docker 常用命令及實踐

yum update sudo yum config manager add repo 安裝docker sudo yum install docker ce docker ce cli containerd.io 啟動docker sudo systemctl start docker 停止doc...

docker常用命令 Docker 常用命令筆錄

格式docker run 選項 映象 命令 引數.示例docker run it rm ubuntu 16.04 bash 示例解釋 it 這是兩個引數,乙個是 i,表示互動式操作,乙個是 t表示終端 rm 這個引數是說容器退出後隨之將其刪除 ubuntu 16.04 這是指用ubuntu 16.0...

Docker實踐3 Docker常用命令 未完

檢視容器及執行程序 docker ps 檢視容器內部資訊 docker inspect container id 進入容器 docker attach container id 退出容器 docker kill container id 檢視日誌 docker logs container id 刪...