docker的安裝和映象容器的基本操作!(離你最近的地方,路途最遠。)
阿新 • • 發佈:2021-10-10
一、Docker 概述
1.1 Docker 初識 Docker是一個開源的應用容器引擎,基於go語言開發並遵循了apache2.0協議開源。 Docker是在Linux容器裡執行應用的開源工具,是一種輕量級的“虛擬機器”。 Docker 的容器技術可以在一臺主機上輕鬆為任何應用建立一個輕量級的、可移植的、自給自足的容器。 Docker的Logo設計為藍色鯨魚,拖著許多集裝箱。 鯨魚可看作為宿主機,集裝箱可理解為相互隔離的容器,每個集裝箱中都包含自己的應用程式。 Docker的設計宗旨:Build,Ship and Run Any App,Anywhere 即通過對應用元件的封裝、釋出、部署、執行等生命週期的管理,達到應用元件級別的“一次封裝,到處執行”的目的。這裡的元件,既可以是一個應用,也可以是一套服務,甚至是一個完整的作業系統。 1.2 容器的特點 容器化越來越受歡迎,因為容器是: 靈活:即使是最複雜的應用也可以集裝箱化。 輕量級:容器利用並共享主機核心。 可互換:可以即時部署更新和升級。 行動式:可以在本地構建,部署到雲,並在任何地方執行。 可擴充套件:可以增加並自動分發容器副本。 可堆疊:可以垂直和即時堆疊服務。 1.3 容器和Docker與虛擬機器的區別 1.3.1 容器與虛擬機器的區別 1)容器 是在linux上本機執行,並與其他容器共享主機的核心,它執行的是一個獨立的程序,不佔用其他任何可執行檔案的記憶體,非常輕量。 2)虛擬機器 執行的是一個完成的作業系統,通過虛擬機器管理程式對主機資源進行虛擬訪問,相比之下需要的資源更多。 1.3.2 Docker與虛擬機器的區別 特性 Docker容器 虛擬機器 啟動速度 秒級 分鐘級 計算能力損耗 幾乎無 損耗 50%左右 效能 接近原生 弱於 系統支援量(單機) 上千個 幾十個 隔離性 資源隔離/限制 完全隔離 1.3.3 容器在核心中支援2種重要技術 docker本質就是宿主機的一個程序,docker是通過namespace實現資源隔離,通過cgroup實現資源限制,通過寫時複製技術(copy-on-write)實現了高效的檔案操作(類似虛擬機器的磁碟比如分配500g並不是實際佔用物理磁碟500g)。 1.4 Docker核心概念 1)映象 Docker的映象是建立容器的基礎,類似虛擬機器的快照,可以理解為一個面向 Docker 容器引擎的只讀模板。 通過映象啟動一個容器,一個映象是一個可執行的包,其中包括執行應用程式所需要的所有內容包含程式碼,執行時間,庫、環境變數、和配置檔案。 2)容器 Docker的容器是從映象建立的執行例項,它可以被啟動、停止和刪除。所建立的每一個容器都是相互隔離、互不可見,以保證平臺的安全性。 可以把容器看做是要給簡易版的linux環境(包括root使用者許可權、映象空間、使用者空間和網路空間等)和執行在其中的應用程式。 3)倉庫 Docker倉庫是用來集中儲存映象的地方,當建立了自己的映象之後,可以使用push命令將它上傳到公有倉庫(Public)或者私有倉庫(Private)。當下次要在另外一臺機器上使用這個映象時,只需從倉庫獲取。 Docker 的映象、容器、日誌等內容全部都預設儲存在 /var/lib/docker 目錄下。二、Docker的安裝
2.恢復yum官方源,然後按照依賴程式