Docker入門簡介(一)

2022-06-27 17:27:13 字數 1951 閱讀 7029

docker 介紹

docker是docker.lnc公司開源的乙個基於lxc技術智商構建的container容器引擎,源**託管在github上,基於go語言並遵從apache2.0協議開源。

docker是通過核心虛擬化的技術(namespaces及cgroups等)來提供容器的資源隔離與安全保障等。由於docker通過作業系統層的虛擬化實現隔離,所有docker容器在執行是,不需要類似虛擬機器(vm)額外的作業系統開銷,提高資源利用率。

docker的理念: build(構建)   ship(傳輸)    run(執行)

docker 組成

我們可以理解為docker是乙個非常傳統的c/s結構的乙個專案,由 docker client 和 docker server構成。

我們安裝完docker之後會有個docker的命令,這就相當於docker clinet。然後docker會在後台啟動乙個程序,這就是docker server。docker clinet 和 docker server 之間通過 rest api來進行通訊。

如下圖: docker的c/s架構

容器vs虛擬化

docker和虛擬機器最大的區別是少了客戶機作業系統,映象和消耗宿主機資源來說容器相對是輕量級。

docker能幹什麼?

常用的8個docker的真實使用場景,分別是簡化配置、**流水線管理、提高開發效率、隔離應用、整合伺服器資源、除錯能力、多租戶環境、快速部署。    

docker改變了什麼

面向產品: 產品交付,之前我們做產品交付可能是交付軟體包和安裝操作文件來進行部署,那麼現在的話可以直接交付docker映象。例如現在非常多的開源專案都提供了docker映象或者docker file。

面向開發: 簡化環境配置, 每次公司有開發入職,第一天肯定是準備開發環境。有些複雜的開發環境部署麻煩,有docker之後可以構建好docker映象,直接啟動容器使用。

面向測試: 多版本測試,docker是輕量級的,可以快速的啟動多個不同版本的容器來進行測試。

面向運維: 環境一致性, 基於docker映象可以實現多個環境一致性。

面向架構: 自動化擴容(微服務),當訪問量上來之後可以快速啟動多個容器來進行架構擴容。

基於docker的不可變基礎設施

不可變基礎設施,服務上線之後就不能做任何的變更,不要直接ssh登入到容器進行配置的變更等等這樣的操作,因為大部分故障**於變更。

不可變基礎設施的理念是用替換的方式來進行版本更新,比如v1要公升級到v2,不要直接對v1進行修改變更,而是直接新起乙個v2容器,來進行替換。因為容器相比虛擬機器是輕量級的,可以快速實現。

Docker(一) Docker入門簡介

docker是一種容器技術,是用於在某種程度上替換系統虛擬化的解決方案。使用docker可以很快速及便捷的交付應用,不用在考慮硬體及系統的相容性,使而更關注與業務的發展。docker 和硬體虛擬化方式的差異在於docker是在os層面上實現虛擬化,而基於硬體虛擬化方式則是在hw層面實現。p.s.來自...

Docker入門簡介

docker原本是 dotcloud的乙個業餘專案,不過吸引了大量的關注和討論,導致 dotcloud 把它重新命名到 docker inc。docker 擴充套件了 linux 容器 linux containers lxc通過乙個高層次的 api 為程序單獨提供了乙個輕量級的虛擬環境。docke...

Docker 入門簡介 Study01

1.一款產品從開發到上線,從作業系統,到執行環境,再到應用配置。作為開發 運維之間的協作我們需要關心很多東西,這也是很多網際網路公司都不得不面對的問題,特別是各種版本的迭代之後,不同版本環境的相容,對運維人員都是考驗 docker之所以發展如此迅速,也是因為它對此給出了乙個標準化的解決方案。2.環境...