首頁  >  文章  >  運維  >  docker是什麼?能做什麼?

docker是什麼?能做什麼?

青灯夜游
青灯夜游原創
2021-11-25 16:59:5129082瀏覽

docker是一個開源的應用容器引擎,docker能做的事:1、快速建立開發環境;2、模擬生產環境;3、自動測試;4、進行自我部署;5、進行持續集成(持續部署);6、管理單一機器上的所有服務;7、擴充QPS等。

docker是什麼?能做什麼?

本教學操作環境:linux5.9.8系統、docker-1.13.1版、Dell G3電腦。

docker是什麼?

Docker 是一個開源的應用程式容器引擎,讓開發者可以打包他們的應用程式以及依賴套件到一個可移植的映像中,然後發佈到任何流行的Linux或Windows操作系統的機器上,也可以虛擬化。容器是完全使用沙箱機制,彼此之間不會有任何介面。

docker能做什麼?

1、快速建立開發環境

你需要在本機系統快速嘗試 Magento,或是為一個專案使用 MySQL?還是希望嘗試大部分開源專案?那就使用 Docker 吧,它將幫助你節省大量時間。 Docker 能提升開發者的開發效率,讓我們快速建置開發環境。

開發環境的機器通常內存比較小,此前使用虛擬的時候,經常需要為開發環境的機器加內存,而通過 Docker 可以輕易的讓幾十個服務在 Docker 中跑起來。

2、微服務(Microservices)

你在使用微服務嗎?微服務架構 —— 將一個整體式的應用程式拆分成鬆散耦合的單一服務。

那不妨考慮 Docker,你可以將每個服務打包為一個 docker 映像並使用 docker-compose 來模擬生產環境(checkout docker networks)。最開始實踐的時候可能會比較費時費力,但長遠來看,最終將產生巨大的生產力。

3、自動測試(Automated testing)

試想這樣一個問題,如何編寫自動化的整合測試案例,這些測試用例無需花很長時間來開始運行,使用者也可輕鬆管理。

這裡不是指在 Docker 中執行測試用例,而是將測試用例與映像緊密運行在一起。當你針對一個 docker 映像編寫測試案例時會有一個很大的優勢。以下簡單介紹一下我的測試流程:執行兩個 docker 映像(app db),在 MySQL 啟動時載入數據,並在 app docker 上使用 API。

4、進行自我部署

你可以使用 docker 映像進行自我部署。許多主流的主機提供者都支援託管 docker,如果你擁有一個具有 shell 存取權限的專用節點/vm,那麼事情將變得更容易。只需要設定好 docker,並在你想要的連接埠上執行你的映像即可。

5、持續整合/持續部署(Continuous Deployment)

都說Docker 天生適合持續整合/持續部署,在部署中使用Docker,持續部署將變得非常簡單,並會在進入新的鏡像後重新開始。

關於這個部分的自動化工作,現在已經有許多方案以供選擇,Kubernetes 就是一個耳熟能詳的名字。 Kubernetes是容器叢集管理系統,是一個開源的平台,可以實現容器叢集的自動化部署、自動擴縮容、維護等功能。

6、多租用戶環境(Multi-tenancy)

#Docker 有意思的一個使用場景是在多租用戶的應用中,它可以避免關鍵應用的重寫。如果你將應用程式服務公開給多個租戶(租戶指一組用戶,例如組織),使用單一租戶方案設計的應用程式如果用上了 sub-domain docker 可以快速獲得提供多租戶的服務。

關於這個場景的一個例子是為物聯網的應用開發一個快速、易用的多租戶環境。這種多租戶的基本程式碼非常複雜,很難處理,重新規劃這樣一個應用程式不但消耗時間,也浪費金錢。使用 Docker,可以為每個租用戶的應用層的多個實例建立隔離的環境,這不僅簡單而且成本低廉,當然這一切得益於 Docker 環境的啟動速度和其高效的 diff 命令。

7、來自一台機器的多個APP(Multiple apps from one machine)

這與上面提到的微服務有些聯繫,但即使你沒有使用微服務,只是提供服務,Docker 仍可以很好地管理單一機器上的所有服務。你應該使用資料夾掛載來為每個基於資料的 docker 映像保留資料。

8、擴容 QPS(Scaling QPS)

#Docker 透過建立另一個容器來幫助你輕鬆地進行水平擴展。如果遇到龐大的高峰流量,Docker 可以幫助你解決問題 —— 只需增加更多的機器並增加負載平衡器背後運行的容器數量。

使用docker有什麼好處

1、簡單易操作,簡化了以往複雜的應用程式安裝步驟,使用docker會變得非常簡單。

2、可相容多種應用,Web 應用、後台應用、資料庫應用、大數據應用程式例如 Hadoop 叢集、訊息佇列等等都可以打包成鏡像部署。

3、省錢 docker結合雲端可以做到高效能低價

推薦學習:《docker影片教學

以上是docker是什麼?能做什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn