簡單了解Docker與自學教程

2021-09-16 18:57:36 字數 1557 閱讀 7096

docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。

關於docker自學教程:docker完全自學手冊**教程

簡介:

docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的linux機器上,也可以實現虛擬化,容器是完全使用沙箱機制,相互之間不會有任何介面。

乙個完整的docker有以下幾個部分組成:

起源:

docker 是 paas 提供商 dotcloud 開源的乙個基於 lxc 的高階容器引擎,源**託管在 github 上, 基於go語言並遵從apache2.0協議開源。
docker自2023年以來非常火熱,無論是從 github 上的**活躍度,還是redhat在rhel6.5中整合對docker的支援, 就連 google 的 compute engine 也支援 docker 在其之上執行。

一款開源軟體能否在商業上成功,很大程度上依賴三件事 - 成功的 user case(用例), 活躍的社群和乙個好故事。 dotcloud 自家的 paas 產品建立在docker之上,長期維護且有大量的使用者,社群也十分活躍,接下來我們看看docker的故事。

雲計算時代的到來 - aws的成功, 引導開發者將應用轉移到 cloud 上, 解決了硬體管理的問題,然而中介軟體相關的問題依然存在 (所以openstack heat和 aws cloudformation 都著力解決這個問題)。開發者思路變化提供了可能性。

虛擬化手段的變化 - cloud 時代採用標配硬體來降低成本,採用虛擬化手段來滿足使用者按需使用的需求以及保證可用性和隔離性。然而無論是kvm還是xen在 docker 看來,都在浪費資源,因為使用者需要的是高效執行環境而非os, guestos既浪費資源又難於管理, 更加輕量級的lxc更加靈活和快速

lxc的移動性 - lxc在 linux 2.6 的 kernel 裡就已經存在了,但是其設計之初並非為雲計算考慮的,缺少標準化的描述手段和容器的可遷移性,決定其構建出的環境難於遷移和標準化管理(相對於kvm之類image和snapshot的概念)。docker 就在這個問題上做出實質性的革新。這是docker最獨特的地方。

原理:

docker核心解決的問題是利用lxc來實現類似vm的功能,從而利用更加節省的硬體資源提供給使用者更多的計算資源。同vm的方式不同, lxc 其並不是一套硬體虛擬化方法 - 無法歸屬到全虛擬化、部分虛擬化和半虛擬化中的任意乙個,而是乙個作業系統級虛擬化方法, 理解起來可能並不像vm那樣直觀。所以我們從虛擬化到docker要解決的問題出發,看看他是怎麼滿足使用者虛擬化需求的。

使用者需要考慮虛擬化方法,尤其是硬體虛擬化方法,需要借助其解決的主要是以下4個問題:

阿里雲大學官網(阿里雲大學 - 官方**,雲生態下的創新人才工場)

Docker簡單使用教程

前言 下邊這個是官方文件,有興趣的可以跟著官方文件進行學習,官方文件介紹的也十分詳細。docker中文 關於docker的安裝就不再多提了 window,mac,linux官方文件都有安裝步驟 因為docker的安裝實在是太簡單了 在參考文件下 直接根據自身情況貼上複製。不要總以為官方文件很難。do...

使用docker的簡單教程

sudo docker pullexample sudo docker pull ubuntu 14.04 sudo docker run itexample 使用image建立container並進入互動模式,login shell是 bin bash sudo docker run it ubu...

Docker 入門教程簡單易懂

使用 yum 安裝 配置映象加速器 docker是乙個用於開發,交付和執行應用程式的開放平台。docker使您能夠將應用程式與基礎架構分開,從而可以快速交付軟體。借助docker,您可以以與管理應用程式相同的方式來管理基礎架構。通過利用docker的方法來快速交付,測試和部署 您可以大大減少編寫 和...