Docker 簡介
Docker是一個開源的容器引擎,它有助于更快地交付應。Docker可將應用程序和基礎設施層隔離,并且能將基礎設施當作程序-樣進行管理。使用Docker,可更快地打包、測試以及部署應用程序,并可以縮短從編寫到部署運行代碼的周期。
Docker的官方網站: https://www.docker.com/
Docker的GitHub: https://github.com/docker/docker/
Docker 架構
Docker 架構圖如下:
圖中包含的組件:
-
Docker daemon ( Docker守護進程)
Docker daemon是一個運行在宿主機( DOCKER HOST )的后臺進程。可通過Docker客戶端與之通信。 -
Client ( Docker 客戶端)
DoCker 客戶端是 DOCke :的用戶界面,它可以接受用戶命令和配置標識,并與 DOCker daemon 通信。圖中, docke : build 等都是 Docke :的相關命令。 -
Images ( Docker 鏡像)
DOCker 鏡像是一個只讀模板,它包含創建 DoCker 容器的說明。它和系統安裝光盤有點像 ― 使用系統安裝光盤可以安裝系統,同理,使用 D 。 cke :鏡像可以運行 Docker 鏡像中的程序。 -
Container (容器)
容器是鏡像的可運行實例。鏡像和容器的關系有點類似于面向對象中,類和對象的關系。可通過 Docker API 或者 Cll 命令來啟停、移動、刪除容器。 -
Registry
Docker Registry 是一個集中存儲與分發鏡像的服務。構建完 Docker 鏡像后,就可在當前宿主機上運行。但如果想要在其他機器上運行這個鏡像,就需要手動復制。此時可借助 Docker Registry 來避免鏡像的手動復制。一個 Docker Registry 可包含多個 Doclcer 倉庫,每個倉庫可包含多個鏡像標簽,每個標簽對應一個 Docker 鏡像。這跟 Maven 的倉庫有點類似,如果把 Docker Registry 比作 Maven 倉庫的話,那么 Docker 倉庫就可理解為某 jar 包的路徑,而鏡像標簽則可理解為 jar 包的版本號。Docker Registry 可分為公有 Docker Registry 和私有 Docker Registry 。最常用的 Docker Registry 莫過于官方的 Docker Hub ,這也是默認的 Doclcer Registry 。 Doclcer 枷 b 上存放著大量優秀的鏡像,可使用 DoCker 命令下載并使用。
Docker 安裝
DoCker 官方建議將 Docker 運行在 Linux 操作系統上。當然Docke也可運行在其他的平臺,例如windows、MacOS 等。
本次將演示如何在 CentOS 上安裝 Docker ,其他操作系統上的安裝可參考官方文檔: https://docs.docker.com/engine/installation/。
Docker 系統要求
Docker 運行在 CentOS 7 . X 之上。
Docke :需要安裝在 64 位平臺.
卸載舊版Docker
sudo yum -y remove docker-ce 執行該命令只會移除舊版本的 docker-ce , /var/lib/docker 目錄中的內容不會被刪除,因此,舊版本 Docker-ce所創建的鏡像、容器、卷等都會保留下來。
設置 Yum 源
Docker 有很多中安裝方式:例如Yum安裝、RPM安裝、Shell安裝。本次以Yum安裝為例。
- 安裝 yum-utils,這樣就能使用 yum-config-manager 工具設置 Yum 源。
sudo yum install -y yum-utils
- 執行以下命令,添加 Docker 的 Yum 源。
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- [可選]啟用測試倉庫
測試倉庫包含在 docker.repo 文件中,但默認情況下是禁用的。如需啟用測試倉庫,可使用以下命令:sudo yum-conflg-manager -enable docker-testing
想要禁用測-試倉庫,可執行以下命令:
sudo yum-config-manager -disable docker-testing
安裝 Docker
- 更新 Yum 包的索引。
sudo yum makecache fast <!-- 不可用 -- >sudo yum makecache
- 安裝最新版本的 Docker。
sudo yum -y install docker-ce
這樣,經過-段時間的等待后, Docker 就安裝完成了。
- 在生產系統中,可能需要安裝指定版本的 Docker ,而并不總是安裝最新版本。執行以下命令,即可列出可用的 Docker 版本。
yum list docker-ce.x86_64_showduplicates |sort -r
其中, sort -r 命令表示對結果由高到低排序。列出 Docker 版本,可使用以下命令安裝指定版本的 Docker。
sudo yum - y install docker-ce-<VERSION_STRIN6>
- 設置開機啟動
sudo systemctl enable docker
-
啟動 DokCero
sudo systemctl start docker
-
執行以下命令,驗證安裝是否正確。
sudo docker run hell0-World
如看到類似于如下的結果,則說明安裝正確。
Unable to find image 'hello-world:latest' locally
...
Hello from docker!
This message shows that your installation appears to be working correctly.
... -
查看 Docker 版本。
docker version 可看到類似于如下的結果:
卸載 Docker
- 卸載 Doclcer 軟件包。
sudo yum -y remove docker-ce
- 如需刪除鏡像、容器、卷以及自定義的配置文件,可執行以下命令:
sudo rm -rf /var/docker
配置阿里鏡像加速器
國內訪問 Docker Hub 的速度很不穩定,有時甚至出現連接不上的情況。本節來為 Docker 配置鏡像加速器,從而解決這個問題。目前國內很多云服務商都提供了鏡像加速的服務。常用的鏡像加速器有:阿里云加速器、 DaoCloud 加速器等。各廠商鏡像加速器的使用方式大致類似,本節以阿里云加速器為例進行講解。
- 打開阿里云控制臺-容器鏡像服務-鏡像中心-鏡像加速器
- 修改配置文件
vi /etc/docker/daemon.json
添加加速地址
- 重啟docker
systemctl daemon-reload
systemctl restart docker
學習于:《Spring Cloud與Docker 微服務架構實戰》 — 周立