Docker,一種可以將軟件打包到容器中并在任何環境中可靠運行的工具。但什么是容器以及為什么需要容器呢?今天就來一起學快速入門一下Docker吧!希望本文對您有所幫助。
假設您使用 Cobol 構建了一個在某種奇怪風格的 Linux 上運行的應用程序。您想與您的朋友分享這個應用程序,但他有一個完全不同的系統。那么問題就變成了,我們如何在任何機器上復制我們的軟件所需的環境?
打包應用程序的一種方法是使用虛擬機,在虛擬機中模擬硬件,然后安裝所需的操作系統和依賴項。
這允許我們在同一基礎設施上運行多個應用程序。然而,由于每個虛擬機都運行自己的操作系統,因此它們往往體積龐大且速度緩慢。
現在,Docker 容器在概念上與虛擬機非常相似,但有一個關鍵區別。
容器只虛擬化操作系統,而不是虛擬化硬件。或者換句話說,所有應用程序或容器都由單個內核運行,這使得幾乎所有內容都更快、更高效。
三個基本元素。
Docker世界包含三個基本元素:
-
Dockerfile
-
鏡像
-
容器
Dockerfile 就像 DNA。它只是告訴 Docker 如何構建鏡像的代碼。鏡像本身就是軟件的快照,以及一直到操作系統級別的所有依賴項。該鏡像是不可變的,它可用于啟動多個容器,這是您在現實世界中運行的實際軟件。
創建一個 docker 文件,并使用 from 從現有模板(如 Ubuntu)開始。
該基礎鏡像是從云端下載的,您還可以將自己的鏡像上傳到各種不同的 Docker 注冊表。
從那里,您可能需要使用 run 來運行將依賴項安裝到映像中的終端命令。您可以設置環境變量并執行各種其他操作,然后您要做的最后一件事就是設置啟動容器時執行的默認命令。
現在,我們可以通過運行 docker build 命令來創建鏡像文件。
它會遍歷 Dockerfile 中的每個步驟來逐層構建鏡像。
然后,我們可以使用 docker run 命令將此映像作為容器變為現實。
由于您的應用程序需要更多資源,您可以在多臺計算機、多個云、本地或任何您想要可靠的地方運行它。
文章轉載自:程序猿DD
原文鏈接:https://www.cnblogs.com/didispace/p/17884039.html