Docker 教學課程

閱讀(33334) 更新時間(2022-04-11)

《Docker 教學》Docker 是一個開源的應用程式容器引擎,基於 Go 語言 並遵從Apache2.0協定開源。 Docker 可以讓開發者打包他們的應用程式以及依賴套件到一個輕量級、可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,彼此之間不會有任何介面(類似 iPhone 的 app),更重要的是容器效能開銷極低。


Docker是一個開放原始碼軟體專案,讓應用程式部署在軟體貨櫃下的工作可以自動化進行,藉此在Linux作業系統上,提供一個額外的軟體抽象層,以及作業系統層虛擬化的自動管理機制。

Docker利用Linux核心中的資源分離機制,例如cgroups,以及Linux核心名字空間(namespaces),來建立獨立的容器(containers)。這可以在單一Linux實體下運作,避免引導一個虛擬機器造成的額外負擔。

Linux核心對名字空間的支援完全隔離了工作環境中應用程式的視野,包括行程樹、網路、使用者ID與掛載檔案系統,而核心的cgroup提供資源隔離,包括CPU、記憶體、block I/O與網路。

從0.9版本起,Dockers在使用抽象虛擬是經由libvirt的LXC與systemd - nspawn提供介面的基礎上,開始包括libcontainer庫做為以自己的方式開始直接使用由Linux核心提供的虛擬化的設施。

提示:在您開始學習運用Docker之前,您需要掌握 Linux 的常用指令。

依據產業分析公司「451研究」:「Dockers是有能力打包應用程式及其虛擬容器,可以在任何Linux伺服器上運行的依賴性工具,這有助於實現靈活性和便攜性,應用程式在任何地方都可以運行,無論是公用雲、私有雲、單機等。」

一個完整的Docker有以下幾個部分組成:

  • DockerClient客戶端

  • Docker Daemon守護程式

  • Docker Image映像

  • DockerContainer容器 

Docker優點

  • #簡化程式:


    ##Docker 讓開發者可以打包他們的應用程式以及依賴套件到一個可移植的容器中,然後發佈到任何流行的Linux 機器上,便可以實現虛擬化。 Docker改變了虛擬化的方式,讓開發者可以直接將自己的成果放入Docker中進行管理。方便快速已經是 Docker的最大優勢,過去需要用數天乃至數週的 任務,在Docker容器的處理下,只需要數秒就能完成。 ############避免選擇恐懼症:############如果你有選擇恐懼症,還是資深病患。那你可以使用 Docker 打包你的糾結!例如 Docker 映像;Docker 映像中包含了運行環境和配置,所以 Docker 可以簡化部署多種應用程式實例工作。例如 Web 應用、後台應用程式、資料庫應用程式、大數據應用程式例如 Hadoop 叢集、訊息佇列等等都可以打包成一個鏡像部署。 ############節省開支:######

一方面,雲端運算時代到來,使開發者不必為了追求效果而配置高額的硬件,Docker 改變了高性能必然高價格的思維定勢。 Docker 與雲端的結合,讓雲端空間更充分的利用。不僅解決了硬體管理的問題,也改變了虛擬化的方式。

提示:我們的Docker 教學將協助您學習運用Docker。如果你有任何疑問,請前往PHP中文網Docker 社群提出你的問題,會有熱心網友為你解答。

本Docker教學手冊涵蓋的內容

本Docker教學涵蓋所有Docker基礎和進階知識,包含了Docker使用、Docker安裝Nginx、Docker安裝PHP、Docker安裝MySQL、 Docker安裝Python、Docker安裝redis等等知識詳解。

提示:本教學的每一章都包含了許多圖文詳細實例,透過這些範例將幫助您更能理解並運用Docker 。

最新章節


Docker 资源汇总 2016-10-18
Docker 命令大全 2016-10-18
Docker 安装 Apache 2016-10-18
Docker 安装 MongoDB 2016-10-18
Docker 安装 Redis 2016-10-18
Docker 安装 Python 2016-10-18
Docker 安装 Tomcat 2016-10-18
Docker 安装 MySQL 2016-10-18