docker是啥?是幹什麼的?

2021-09-10 10:02:40 字數 1423 閱讀 5365

what?

我們知道,軟體依賴的環境大致包括:

• 配置檔案

• **

• tomcat

• jdk

• 作業系統

docker作為乙個軟體貨櫃化平台,可以讓開發者構建應用程式時,將它與其依賴環境一起打包到乙個容器中,然後很容易地發布和應用到任意平台中。

docker有3大核心:映象、容器、倉庫。

鯨魚是作業系統。

要交付的應用程式是各種貨物,要將各種形狀和尺寸不同的貨物放到大鯨魚上,得考慮每件貨物怎麼安放(應用程式配套的環境),還得考慮貨物和貨物之間能否重疊起來(應用程式依賴的環境是否會衝突)。

現在使用了貨櫃(容器)把每件貨物都放到貨櫃裡,這樣大鯨魚可以用同樣地方式安放、堆疊集裝了,省事省力。

即:打包放到鯨魚上,鯨魚放到伺服器上。也就是「build——ship——run」,這樣在自己的電腦上怎麼執行,在伺服器上也會怎麼執行。

用docker執行乙個程式的過程:

去倉庫把映象拉到本地,然後用一條命令把映象執行起來,變成容器。

why?

在知乎上看到乙個很好的解釋:

簡單來說就是,不同的應用程式所依賴的環境不一樣,如果把他們依賴的軟體都安裝在乙個伺服器上,不僅需要除錯很久,而且可能會有衝突。

如果想把兩個應用程式隔離起來,可以在伺服器上建立不同的虛擬機器,不同的虛擬機器放不同的應用,但是虛擬機器的開銷比較高。docker作為輕量級的虛擬機器,是乙個很好的工具。

總結成一句話:docker的標準化讓快速擴充套件,彈性伸縮變得簡單

之前,可以發現,每發布乙個程式,都要走一遍以下的流程:

之後:

how?

檢查計算機是否符合要求,版本和是否開啟了虛擬化之類的。

測試是否安裝成功

這是一篇描述在win10上安裝docker的部落格:

docker是什麼,docker是幹什麼的

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

FFT是幹什麼的

fft在演算法競賽中就有乙個用途 加速多項式乘法 暴言 簡單來說,形如 a0x0 a1x1 a2x2 anxna0x0 a1x1 a2x2 anxn 的代數表示式叫做多項式,可以記作f x a0x0 a1x1 a2x2 anxnf x a0x0 a1x1 a2x2 anxn,其中a0,a1,ana0...

npm是幹什麼的

網上的 npm 教程主要都在講怎麼安裝 配置和使用 npm 卻很少告訴新人 npm 是幹什麼的?為什麼要使用 npm?今天我就來講講這個話題。本文目標讀者是 不太了解 npm 的新人 老司機請繞道。社群共享 麻煩npm的思路大概是這樣的 這些可以被使用的 被叫做 包 package 這就是 npm名...