Docker 是一個開源的容器引擎,它有助於更快地交付應用。Docker 可將應用程序和基礎設施層隔離,而且能將基礎設施看成程序同樣進行管理。使用 Docker , 可更快地打包、測試以及部署應用程序,並能夠縮短從編寫到部署運行代碼的週期。linux
* Docker 的官方網址連接:https://www.docker.comgit
* Docker 的 GitHub : http://github.com/docker/dockergithub
Docker 架構包含的主要組件:docker
* Docker daemon ( Docker 守護進程 )apache
Docker daemon 是一個運行在宿主機 (DOCKER_HOST) 的後臺進程。可經過 Docker 客戶端與之通訊。centos
* Client (Docker 客戶端)bash
Docker 客戶端是 Docker 的用戶界面,它能夠接受用戶命令和配置標識,並與 Docker daemon 通訊。架構
* Images ( Docker 鏡像 )app
Docker 鏡像是一個只讀模板,它包含建立 Docker 容器說明。它和系統安裝光盤有點像 —— 使用系統安裝光盤能夠安裝系統,同理,使用 Docker 鏡像能夠運行 Docker 鏡像中的程序。工具
* Container (容器)
容器是鏡像的可運行實例。鏡像和容器的關係有點相似於面向對象中,類和對象的關係。可經過 Docker API 或 CLI 命令來啓動、中止和移動、刪除容器。
* Registry ( 註冊 )
Docker Registry 是一個集中存儲與分發鏡像的服務。構建完 Docker 鏡像後,就可在當前宿主機上運行。但若是想要在其餘機器上運行這個鏡像,就須要手動複製。此時,就可藉助 Docker Registry 來避免鏡像的手動複製。
一個 Docker Registry 可包含多個 Docker 倉庫,每一個倉庫可包含多個鏡像標籤,每一個標籤對應一個 Docker 鏡像。這跟 Maven 的倉庫有點相似,若是把 Docker Registry 比做 Maven 倉庫的話,那麼 Docker 倉庫就可理解爲某 jar 包的路徑,而鏡像標籤則可理解爲 jar 包的版本號。
Docker Registry 可分爲公有 Docker Registry 和私有 Docker Registry 。最經常使用的 Docker Registry 莫過於官方的 Docker Hub, 這也是默認的 Docker Registry 。Docker Hub 上存放着大量優秀的鏡像,可以使用 Docker 命令下載並使用。
Docker 官方建議將 Docker 運行在 Linux 操做系統上。固然,Docker 也支持運行在其餘平臺,例如 Windows、MacOS 等。
* 安裝參考官方文檔:http://docs.docker.com/engine/installation/
系統要求
* Docker 運行在 CentOS 7.X 之上 (不支持內核在 3.8 如下的老版本)
# 經過如下命令查看您的 CentOS 內核: uname -r
* Docker 須要安裝在 64 位平臺
移除非官方軟件包
Red Hat 操做系統包含了一箇舊版本的 Docker 軟件包,該舊版本軟件包的名稱是 「 docker 」,而新版本是 「 docker-engine 」。所以,如已安裝該軟件包,那麼須要執行如下命令移除。
$ sudo yum remove docker
Tips:執行該命令只會移除舊版本的 Docker , /var/lib/docker 目錄中的內容不會被刪除,所以,舊版本 Docker 所建立的鏡像、容器、卷等都會保留下來。
卸載舊版本
$ sudo yum remove docker \ docker-common \ docker-selinux \ docker-engine
設置 Yum 源
Docker 有多種安裝方式,例如 Yum 安裝、PRM 包安裝、Shell安裝等。如下以 Yum 安裝方式進行, Docker 分 Docker EE 和 Docker CE 兩種版本(EE:企業版,收費的;CE:社區版,不收費)。
一、安裝 yum-utils , 這樣就能使用 yum-config-manager 工具設置 Yum 源。
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
二、執行如下命令,添加 Docker 的 Yum 源。
$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
三、【可選】啓用測試倉庫。測試倉庫包含在 docker.repo 文件中,但默認狀況下禁用的。
如需啓用測試倉庫,可以使用如下命令:
$ sudo yum-config-manager --enable docker-ce-edge $ sudo yum-config-manager --enable docker-ce-test
如想要禁用測試倉庫,可執行如下命令:
$ sudo yum-config-manager --disable docker-ce-edge
安裝 Docker
一、更新 Yum 包的索引
$ sudo yum makecache fast
二、安裝最新版本的 Docker
$ sudo yum install docker-ce
三、在生產系統中,可能須要安裝指定版本的 Docker ,而並不老是安裝最新的版本。
# 執行如下命令,便可列出可用的 Docker 版本 $ yum list docker-ce --showduplicates | sort -r
其中,sort -r 命令表示對結果由高到低排序。執行後,可看到相似於以下的表格:
該表格有三列,第一列是軟件包名稱,第二列是版本字符串,第三列是倉庫名稱,表示軟件包存儲的位置,例如 docker-main, docker-testing 等。
列出 Docker 版本後,可以使用如下命令安裝指定版本的 Docker 。
$ sudo yum install <FULLY-QUALIFIED-PACKAGE-NAME>
例如:
$ sudo yum -y install docker-ce-17.09.0.ce
四、啓動 Docker
$ sudo systemctl start docker
五、執行如下命令,驗證安裝是否正確
$ sudo docker run hello-world
六、查看 Docker 版本
docker version
可看到相似於以下的結果:
由結果可知當前 Docker 版本、API 版本、Go語言版本等信息。
一、卸載 Docker 軟件包
$ sudo yum remove docker-ce
二、如需刪除鏡像、容器、卷以及自定義的配置文件,可執行如下命令
$ sudo rm -rf /var/lib/docker
國內訪問 Docker Hub 的速度很不穩定,有時甚至出現鏈接不上的狀況。爲 Docker 配置鏡像加速器,從而解決這個問題。目前國內不少雲服務商都提供了鏡像加速的服務。經常使用的鏡像加速器有:
阿里雲加速器、DaoCloud加速器等。
以阿里雲加速器爲例:
一、註冊阿里雲帳號,便可在阿里雲控制檯(https://cr.console.aliyun.com/#/accelerator)
二、按照提示說明,便可配置鏡像加速器。
本文爲博主原創文章,轉載請註明出處!
https://my.oschina.net/u/3375733/blog/