《Docker學習(二)在Windows10中安裝Docker》
Docker簡介
Docker文檔:https://docs.docker.com/
Docker Hub鏡像集合:https://hub.docker.com
Docker是給開發者或系統管理者提供的一個平臺,用來使用容器來構建、運行、分享他們的應用程序。使用容器來部署應用被稱爲容器化。
容器化越來越流行,其具有以下特性:
靈活性:即便是非常複雜的應用程序也是可以被容器化的。
輕量級:容器利用並共享主機內核,使它們在系統資源方面比虛擬機更高效。
可移植性:可以在本地構建、部署到雲,並在任何地方運行。
松耦合:容器是高度自給和封裝的,允許更換或升級其中一個而不中斷其他容器。
可擴展性:可以通過數據中心增加和自動分發容器副本。
安全:容器對進程進行了嚴格的約束和隔離,而不需要用戶進行任何配置。
Docker鏡像與容器
從根本上說,容器只不過是一個正在運行的進程,其中應用了一些附加的封裝特性,以便使它與主機和其他容器隔離。容器隔離的一個最重要的方面是每個容器與它自己的私有文件系統交互;這個文件系統由Docker鏡像提供。鏡像包括運行應用程序所需的所有內容,包括代碼或二進制文件、運行時環境、依賴項以及所需的任何其他文件系統對象。
Docker容器與虛擬機
容器在Linux本地運行,與運行在該Linux上的其他容器共享Linux內核。容器運行一個互相不關聯的獨立進程,佔用的內存不超過任何其他可執行文件,使其輕量級。
相比之下,虛擬機(VM)運行一個全面的“guest”操作系統,通過hypervisor對主機資源進行虛擬訪問。一般來說,除了應用程序邏輯所消耗的外,虛擬機會產生很多開銷。
Docker的部分概念
Docker 容器(Container):獨立運行的一個或一組應用,是鏡像運行時的實體。
Docker 主機(Host):一個物理或者虛擬的機器用於執行 Docker 守護進程和容器。
Docker Registry:Docker 倉庫用來保存鏡像,可以理解爲代碼控制中的代碼倉庫。一個 Docker Registry 中可以包含多個倉庫(Repository),每個倉庫可以包含多個標籤(Tag);每個標籤對應一個鏡像。通常,一個倉庫會包含同一個軟件不同版本的鏡像,而標籤就常用於對應該軟件的各個版本。我們可以通過 <倉庫名>:<標籤> 的格式來指定具體是這個軟件哪個版本的鏡像。Docker Hub(https://hub.docker.com) 提供了龐大的鏡像集合供使用。
選擇Docker在Linux上安裝的方式
查看Linux系統的版本信息:
cat /proc/version
查看Linux系統發行版信息:
cat /etc/redhat-release
點擊如上圖橢圓標註的Download and install,進入如下圖頁面
Docker是一個用於開發、發佈和運行應用程序的開放平臺。Docker使您能夠將應用程序與基礎設施分離,以便快速交付軟件。使用Docker,您可以像管理應用程序一樣管理基礎設施。通過利用Docker快速發佈、測試和部署代碼的方法,您可以顯著減少編寫代碼和在生產中運行代碼之間的延遲。
點擊上圖中的“Docker for Linux”,開始安裝Docker Engine,參考官方安裝文檔鏈接;https://docs.docker.com/engine/install/
Docker Engine可在多種Linux平臺、macOS和Windows 10上通過Docker Desktop提供,並作爲靜態二進制安裝包來進行安裝。
選擇如上圖中箭頭指示的CentOS,進入CentOS中Docker安裝的頁面,對應的鏈接爲:https://docs.docker.com/engine/install/centos/
根據實際的需要,可以通過不同的方式安裝Docker Engine:
a.大多數用戶建立Docker的存儲庫並從中安裝,以便於安裝和升級任務。這是推薦的方法。
b.一些用戶下載RPM包並手動安裝,完全手動管理升級。這在某些情況下很有用,比如在沒有網絡連接的系統上安裝Docker。
c.在測試和開發環境中,一些用戶選擇使用自動化的腳本來安裝Docker。
本文中將使用方式a進行安裝
使用Docker的存儲庫進行安裝
在新主機上首次安裝Docker Engine之前,需要設置Docker存儲庫。然後,您可以從存儲庫安裝和更新Docker。
設置存儲庫
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安裝Docker Engine
在使用yum install或yum update進行安裝或者更新時,如果沒有明確指定版本號,則默認安裝或更新到最新的可用版本,最新版往往不是穩定版本,這樣可能不會滿足您對穩定性的需求。所以,最好是指定安裝或者更新的具體版本號。
列出存儲庫中可用的版本列表,然後進行選擇和安裝
yum list docker-ce --showduplicates | sort -r
安裝指定版本的docker,docker-ce追加上圖中第二列中:-之間的內容,如docker-ce-19.03.9
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
使用19.03.9替換上面指令中的<VERSION_STRING>,替換後如下
sudo yum install docker-ce-19.03.9 docker-ce-cli-19.03.9 containerd.io
如上圖箭頭位置,輸入y
如上圖箭頭位置,輸入y
Complete!安裝完成
啓動Docker
sudo systemctl start docker
驗證Docker是否成功安裝
sudo docker run hello-world
此命令執行的過程:
1.首先在本地倉庫中尋找鏡像hello-world,發現本地沒有
2.Docker client與Docker daemon建立連接
3.Docker daemon從Docker Hub拉取鏡像hello-world
4.Docker daemon使用鏡像hello-world創建一個新的容器並運行,該hello-world應用程序會打印一些信息
5.Docker daemon以數據流的形式將4中的打印信息傳送給Docker client處理,然後就顯示在我們的終端界面中
更新Docker Engine
To upgrade Docker Engine, follow the installation instructions, choosing the new version you want to install.