2022年12月19日 星期一

連Red Hat和Linux、微軟等科技巨頭都熱情擁抱的Docker,你不可不知道的Docker FAQ




Docker 是一個開源專案,誕生於 2013 年初,最初是 dotCloud 公司內部的一個業餘專案。它基於 Google 公司推出的 Go 語言實作。 專案後來加入了 Linux 基金會,遵從了 Apache 2.0 協議,原始碼在 GitHub 上進行維護。Docker 自開源後受到廣泛的關注和討論,以至於 dotCloud 公司後來都改名為 Docker Inc。Redhat 已經在其 RHEL6.5 中集中支援 Docker;Google 也在其 PaaS 產品中廣泛應用。

Docker是一個提供作業系統層的虛擬化軟體工具,讓應用程式佈署在容器 (Container) 下,堆疊一層容器管理介面的軟體,提供自動化的機制來管理容器。Docker最主要解決了在一台獨立主機上的作業系統層虛擬化,在大量主機結點的叢集環境時常面臨的需求,如容器的佈署排程,工作負載,結點間的網路設計,負載平衡,高可靠性,資源監控與管理介面等。

Kubernetes(常簡稱為K8s)是用於自動部署、擴展和管理容器化(containerized)應用程式的開源系統。由Google設計,它旨在提供「跨主機集群的自動部署、擴展以及運行應用程式容器的平台」,支持一系列容器工具,包括Docker。Docker和Kubernetes 運作在不同的層次上,Docker提供應用的容器封裝機制,而Kubernetes則控制著Docker 容器的生命周期。透過 Kubernetes 可以幫助 Docker 的應用容器依據資源或規則分配容器到合適的結點上,並可設定副本與負載平衡機制來提升應用的擴展與可靠性。另外Kubernetes 亦對儲存與網路有多種選擇和支援,可滿足大多數的容器應用需求。

Docker常見Q&A:


Docker 可以在 Linux、macOS 和 Windows 上執行嗎?

完全可以!您可以在 Docker 容器中執行 Linux 和 Windows程式。
Docker平台可在 Linux(x86-64、ARM 和許多其他 CPU 架構)和 Windows (x86-64) 上本地執行。Docker Inc. 構建的產品也可讓您在Linux、Windows 和 macOS 上構建和執行容器。

Docker是LXC的升級版或替代品嗎?

Docker 技術不是LXC的替代品。

“LXC”指的是 Linux 內部功能,它允許在安全機制執行中(sandbox)可以控制資源分配。
在這種內部功能的基礎之上,Docker 提供更強大的功能:跨機器的便攜式部署,Docker 定義了一種格式,用於將應用程式及其所有依賴項目捆綁到稱為容器的單個物件中,這個容器可以轉移到任何支援 Docker 的機器上,容器可以在那裡執行,保證應用程式的執行環境,可以使其在開發、測試和生產的過程中是相同的結果。

Docker 容器和 VM 之間有什麼不同?

在StackOverflow 網站中有一篇解釋得很完整,請點選網頁:https://stackoverflow.com/questions/16047306/how-is-docker-different-from-a-virtual-machine

容器退出執行時我會遺失資料嗎?

完全不會!
您的應用程式寫入磁碟的任何資料都會保留在其容器中,直到您明確刪除該容器。即使在容器停止後,容器的文件系統仍然存在。

Docker 容器的規模有多大?

當今世界上一些最大的服務器群都是建立於容器上,Google 和 Twitter 等大型網路佈署以及 Heroku 等平台提供商也都在容器技術上運行,規模為數十萬甚至數百萬個容器。

如何連接 Docker 容器?

目前推薦的連接容器的方法是通過 Docker網路功能。您可以查看有關如何使用 Docker 網路的詳細資訊:https://docs.docker.com/network/bridge/

如何在一個 Docker 容器中運行多個服務?

總體來說我們不鼓勵使用這種方法。
為了最大限度地提高效率和隔離,每個容器都應該只解決一個特定領域的服務。但是,如果您需要在單個容器中運行多個服務,您可以參考這個網頁:https://docs.docker.com/config/containers/multi-service_container/

如何反應有關 Docker 的安全問題?

您可以在這個網頁:https://www.docker.com/products/secure-software-supply-chain/了解Docker安全政策 ,也可以寄信到security@docker.com回報相關的安全問題。

為什麼我必需簽署DCO才能開始使用Docker?

請點選網頁:https://www.docker.com/blog/ 了解更多


想了解更多Docker的問題

還可以到下列網站搜尋相關討論喔!


(資料來源:Docker官網:https://www.docker.com/)


推薦課程:




0 意見:

張貼留言