怎麼安裝Docker並執行Ubuntu系統?

2021-10-07 19:00:38 字數 1428 閱讀 8195

版本

日期作者

說明v1

2020

韋東山技術文件

docker是一種容器,什麼叫容器?在軟體開發中,我們經常碰到「這程式在我的電腦上明明沒問題啊,怎麼在客戶的電腦上就有問題?」這是因為各個電腦的軟體、硬體不一致。

有沒有一種統一的、虛擬的軟體硬體平台,在上面開發好軟體後發給客戶,客戶就可以直接在這個平台上執行程式?有的,這就是容器。容器有很多種,docker是其中比較好的。

跟vmware相比,docker是乙個輕量級的軟體,執行速度快。

使用docker前,需要了解2個概念:image和container,即映象、容器。映象就是乙個環境包,這個環境包可以移動到任意的docker平台裡執行。而容器就是映象的例項,乙個映象可以啟動多個容器。

簡單地模擬,映像就像乙個word軟體,這是廠家發布的,你無法修改;容器就是你啟動word軟體,可以啟動多個word軟體,在每乙個word軟體裡編寫不同的文件。

docker的核心是「統一檔案系統」(union file system),什麼意思?

假設你有2個目錄:lower和upper,它們可以合併成乙個新目錄merged,內容如下:

合併的原則是什麼?upper目錄優先順序更高,可以覆蓋lower目錄,lower目錄是唯讀的,upper目錄是可讀可寫的。這個規則可以解析得更具體:

① 檔名及目錄不相同,則 lower 及 upper 目錄中的檔案及目錄按原結構都融入到 merged 目錄中;

② 檔名相同,只顯示 upper 層的檔案:

如上圖在 lower 和 upper 目錄下及下層目錄 dir_a 下都有 same.txt 檔案,但在合併到 merged 目錄時,則只顯示 upper 的,而 lower 的隱藏。

③ 目錄名相同, 對目錄進行合併成乙個目錄:

如上圖在 lower 及 upper 目錄下都有 dir_a 目錄,將目錄及目錄下的所有檔案合併到 merged 的 dir_a 目錄,目錄內如有檔名相同,則同樣只顯示 upper 的,如上圖中 dir_a 目錄下的same.txt檔案。

讀檔案時,upper目錄中有該檔案時就從upper目錄讀取;否則去lower目錄讀取。

新建、修改、刪除檔案時,只會影響到upper目錄,lower目錄是唯讀的不受影響。

在docker中,映象提供lower層的唯讀檔案;容器提供upper層的可讀可寫檔案,如下:

當我們啟動乙個容器時,就是在映象提供的lower檔案系統的基礎上,建立乙個可讀可寫的upper層檔案系統。

我們可以啟動多個容器,就是建立多個upper層檔案系統,這些容器的upper層檔案系統互不影響。

安裝docker並執行docker swarm模式

docker是什麼就不多說了,這裡主要說說docker swarm。docker engine本身只提供了容器技術,沒有解決集群環境下的容器編排和通訊。docker swarm是乙個容器編排管理工具,docker engine在1.12版本之後整合了docker swarm,不需要再單獨安裝。doc...

Docker 安裝Redis並執行

docker search redisdocker pull reidsdocker iamges docker images redis命令 含義 d 本地執行 6379 6379 本地埠 docker埠 v指定驅動盤 g redisdata redis的持久化檔案儲存 redis docker的...

Linux安裝Docker 並執行

通過 yum 來安裝 docke 核心支援 在centos6.8是可以支援docker,但是有些特性無法使用,因此至少使用3.8的核心版本,建議是使用3.10版本以上。國內生產環境很多都是使用centos,所以一般使用centos7即可。檢視核心 uname r1.更新yum yum y updat...