docker:革新軟件交付
>數據庫,依賴項,CRON作業 - 現代應用程序很複雜。 部署它們曾經是一場耗時的噩夢,但Docker改變了這一點。現在,您可以在幾秒鐘內將軟件部署到幾乎任何環境中。
>
鍵突出顯示
- Docker通過包裝應用程序,依賴項和操作系統簡化了軟件交付,將其變成一個稱為容器的單個便攜式單元。這確保了在不同環境中的穩定性能。
- Docker解決了共同的部署挑戰:系統不兼容,意外更新,依賴性衝突,服務瓶頸和安全漏洞。
- 喜歡物理運輸容器,軟件容器提供可靠的交付。它們封裝了各種組件,包括口譯員,庫,模塊,服務,系統配置和後端工具。
直接利用主機OS資源,
docker容器比虛擬機(VM)更有效,從而產生了較小的內存足跡和更快的啟動時間。 他們提供了完全隔離的安全實驗。 - >
> Docker是一個開源項目,公司為容器創建,分銷和管理提供工具和服務。儘管在某些領域相對較新的出現和持續的beta開發,但它在行業之間的廣泛採用是非常了不起的。
-
軟件部署的演變
>軟件部署曾經很簡單。 節目是挑戰。部署相對簡單。
燈堆(Linux,Apache,MySQL,PHP)提高了複雜性,但仍然可以管理,尤其是在提供控制面板的託管提供商的情況下。
然而,
>現代應用程序更加多樣化。 NOSQL數據庫,Node.js,Python,Ruby和許多其他技術已經擴大了可能性,但部署顯著複雜。
實施挑戰
即使在專用服務器上,部署應用程序也涉及復雜的安裝,配置和維護。 複雜,緊密耦合的系統具有各種服務和語言,增加了意外失敗的風險。
docker的解決方案
Docker通過包裝
所有內容來簡化部署 - 應用程序,其OS,所需的服務,模塊和後端工具(例如Cron作業)(例如CRON Jobs) - 到一個單元中。這樣可以確保在環境之間保持一致的性能,而部署僅需幾分鐘。
解決常見的部署問題
Docker解決了常見部署問題:
- 應用程序與目標系統不兼容。
- 系統更新破壞現有功能。
- 造成意外問題的次要依賴性。
- >服務瓶頸會減慢整個系統。
- 安全漏洞折衷的系統組件。
這些問題屬於DevOps雨傘,包括維護,測試和部署挑戰。 Docker簡化了此過程,減少了時間和挫敗感。
>軟件容器:類比
考慮標準化的運輸容器:您可以在任何地方運送任何東西,並且它處於相同的狀態。
>軟件部署通常缺乏此可靠性。 在不同的環境上使用應用程序可能是一場鬥爭,以後通常會失敗。 軟件容器旨在復制軟件的可靠性。
與僅分配可執行文件和庫(可能引起衝突)的簡單安裝程序不同,軟件容器可以封裝:
口譯員(Python,Ruby,php)和必需的模塊。
>運行時庫。 -
特定的模塊版本。 -
必要的服務(Web服務器,數據庫)。 -
>系統調整。 -
後端工具(Cron Jobs)。 -
- 簡化的操作
容器可大大簡化操作。 您可以將多個容器用於不同的組件(應用程序核心,Apache,MySQL),而是創建模塊化和可管理的系統。
>
何時使用以及何時不使用軟件容器
>
理想用例:
帶有後端技術的Web應用程序。
可伸縮服務(Web,數據庫)。
>具有特定設置要求的應用程序(OS,工具,環境變量)。
易於共享的開發環境。 -
用於安全測試的沙箱。 -
具有鬆散耦合組件的系統。 -
- 不合適的用例:
- >
- >客戶端Web應用程序(HTML,CSS,JavaScript)。
>
簡單的桌面應用程序很容易通過安裝程序分發。
基於Windows的環境與Linux不相容。
理解docker -
docker是一個開源項目和公司,可自動化軟件容器中的應用程序部署。 鑑於其在某些地區的歷史相對較短和持續的Beta功能,它的迅速採用令人印象深刻。
- Docker的網站指出:“ Docker容器包含一個包含運行所需的一切的完整文件系統中的一塊軟件。”
docker演示-
>運行“ Hello-World”容器很簡單:
>
這證明了Docker的功能。 為了獲得更互動的體驗:$ docker run hello-world
登入後複製
這將在容器中啟動交互式Ubuntu shell,從而展示了Docker創建隔離環境的能力。 容器的狀態獨立於主機OS。
docker的架構和工作流
與加載整個客座操作系統的VM不同,Docker容器共享主機OS內核,使其更加輕巧,更快。
>

圖像和容器
>圖像:- 一個只讀模板,其中包含運行環境所需的一切。 圖像是創建或下載的。 >
>容器:- >圖像的可運行實例。 容器是讀寫的,允許在孤立的環境中進行修改。
Docker Workflow
>
構建:使用Dockerfile創建圖像,指定OS,庫,應用程序和配置。 >
-
船:通過Docker Hub或私人存儲庫分配圖像。 >
- 運行:>從安裝碼頭的任何系統上的圖像啟動容器。
- docker 開始
docker需要64位OS(Windows 7或更高版本,OS X 10.8或更新,或Linux,具有3.10內核或更高的Linux)。 Windows和Mac用戶需要Docker Toolbox來設置Linux VM。 Linux用戶直接安裝Docker引擎。 有關安裝說明,請參閱官方文檔。
>安裝後,請按照官方的Docker入門指南進行構建和運行容器。 SitePoint提供特定技術的Docker教程。
docker不僅僅是命令行工具;這是一個用於容器管理的生態系統,從創建到跨大型基礎架構的部署。
常見問題(常見問題解答)
提供的常見問題解答部分在很大程度上保持不變,因為它準確地解決了常見的Docker問題。 無需重新單詞以保持清晰度和準確性。 >
以上是了解Docker,容器和更安全的軟件交付的詳細內容。更多資訊請關注PHP中文網其他相關文章!