快速認識什麼是:Docker

程式猿DD發表於2023-12-07

Docker,一種可以將軟體打包到容器中並在任何環境中可靠執行的工具。但什麼是容器以及為什麼需要容器呢?今天就來一起學快速入門一下Docker吧!希望本文對您有所幫助。

假設您使用 Cobol 構建了一個在某種奇怪風格的 Linux 上執行的應用程式。您想與您的朋友分享這個應用程式,但他有一個完全不同的系統。那麼問題就變成了,我們如何在任何機器上覆制我們的軟體所需的環境?

打包應用程式的一種方法是使用虛擬機器,在虛擬機器中模擬硬體,然後安裝所需的作業系統和依賴項。

這允許我們在同一基礎設施上執行多個應用程式。然而,由於每個虛擬機器都執行自己的作業系統,因此它們往往體積龐大且速度緩慢。

現在,Docker 容器在概念上與虛擬機器非常相似,但有一個關鍵區別。

容器只虛擬化作業系統,而不是虛擬化硬體。或者換句話說,所有應用程式或容器都由單個核心執行,這使得幾乎所有內容都更快、更高效。

三個基本元素。

Docker世界包含三個基本元素:

  • Dockerfile
  • 映象
  • 容器

Dockerfile 就像 DNA。它只是告訴 Docker 如何構建映象的程式碼。映象本身就是軟體的快照,以及一直到作業系統級別的所有依賴項。該映象是不可變的,它可用於啟動多個容器,這是您在現實世界中執行的實際軟體。

建立一個 docker 檔案,並使用 from 從現有模板(如 Ubuntu)開始。

該基礎映象是從雲端下載的,您還可以將自己的映象上傳到各種不同的 Docker 登錄檔。

從那裡,您可能需要使用 run 來執行將依賴項安裝到映像中的終端命令。您可以設定環境變數並執行各種其他操作,然後您要做的最後一件事就是設定啟動容器時執行的預設命令。

現在,我們可以透過執行 docker build 命令來建立映象檔案。

它會遍歷 Dockerfile 中的每個步驟來逐層構建映象。

然後,我們可以使用 docker run 命令將此映像作為容器變為現實。

由於您的應用程式需要更多資源,您可以在多臺計算機、多個雲、本地或任何您想要可靠的地方執行它。

最後,順手翻了一份 Docker入門課程,如果想再進一步學習一下的話,可以關注我的公眾號:程式猿DD,傳送暗號:docker,獲取下載地址。

如果您想開拓眼界,瞭解和發現更多計算機領域的概念和知識,歡迎關注我在持續更新的開發者科普專欄,助你探索更多計算機領域的熱門知識!

歡迎關注我的公眾號:程式猿DD。第一時間瞭解前沿行業訊息、分享深度技術乾貨、獲取優質學習資源

相關文章