作為乙個後端noder,不了解docker有點說不過去,這節開始,學習一些docker層面的東西。
docker最初是dotcloud公司創始人solomon hykes在法國期間發起的乙個公司內部專案,它是基於dotcloud 公司多年雲服務技術的一次革新,並於2023年3月以apache2.0授權協議開源,主要專案**在github上進行維護。docker專案後來還加入了linux**會,並成立推動開放容器聯盟(oci)。
docker使用google公司推出的go語言進行開發實現。在容器的基礎上,進行了進一步的封裝,從檔案系統、網路互聯到程序隔離等等,極 大的簡化了容器的建立和維護。使得docker技術比虛擬機器技術更為輕便、快捷。
傳統虛擬機器技術是虛擬出一套硬體後,在其上執行乙個完整作業系統,在該系統上再執行所需應用程序;而容器內的應用程序 直接執行於宿主的核心,容器內沒有自己的核心,而且也沒有進行硬體虛擬。因此容器要比傳統虛擬機器更為輕便。
作業系統分為核心和使用者空間,對linux,核心啟動後,會掛載root檔案系統為其提供使用者空間支援。而docker映象就好比這種root檔案系統,提供容器執行時的程式、資源、配置、庫等檔案。映象不包含任何動態東西,一旦映象構建完成之後,便不會被改變。容器就好比乙個例項化的映象,容器是映象執行時的實體。容器可以被建立、啟動、停止、刪除、暫停等等。
容器的實質是程序。不過容器的程序是執行在乙個隔離的環境中,執行在屬於自己的獨立的命名空間。所以在容器內進行的檔案操作等,在宿主環境下是不可見的。
映象構建完成後,可以很容易的在當前宿主機上執行,但是,如果需要在其它伺服器上使用這個映象,我們就需要乙個集中的儲存、分發映象的服務,docker registry就是這樣的服務。
乙個docker registry中可以包含多個倉庫(repository);每個倉庫可以包含多個標籤(tag);每個標籤對應乙個映象。
通常,乙個軟體會放在乙個倉庫,倉庫下的標籤分別對應該軟體的不同版本映象,比如ubuntu:14.04,ubuntu是倉庫名,14.04是標籤名。通過《倉庫名》:《標籤》的格式來指定具體是這個軟體哪個版本的映象。如果不指定標籤,則以latest作為預設標籤。
Docker學習1 基本概念
docker的基本概念 docker是為開發人員和系統管理員而設計的以容器的形式開發 部署和執行應用程式的平台。使用linux容器去部署應用程式稱為容器化,利用容器部署應用程式方便簡單。容器化越來越受歡迎,因為容器 靈活 即使是最複雜的應用也可以被貨櫃化 輕量級 容器利用並共享主機核心 可更換 可以...
Docker基本概念
docker是開發人員和系統管理員構建,發布和執行應用程式的平台。docker允許您快速使用元件組裝應用程式,並消除運送 時可能產生的改變。docker允許您盡快測試並將 部署到生產環境中。docker可以簡化軟體交付,是通過簡化構建包含應用程式整個環境或應用程式作業系統的映象,並共享這個映象。應用...
Docker基本概念
docker 包括三個基本概念 理解了這三個概念,就理解了 docker 的整個生命週期。docker 映象就是乙個唯讀的模板。例如 乙個映象可以包含乙個完整的 ubuntu 作業系統環境,裡面僅安裝了 apache 或使用者需要的其它應用程式。映象可以用來建立 docker 容器。docker 利...