20200206 Docker 2. Docker安裝

Docker 2. Docker安裝

2.1. 前提說明

CentOS Docker 安裝

Docker支持如下的CentOS版本:linux

  • CentOS 7 (64-bit)
  • CentOS 6.5 (64-bit) 或更高的版本

前提條件

目前,CentOS 僅發行版本中的內核支持 Docker。c++

Docker 運行在 CentOS 7 上,要求系統爲64位、系統內核版本爲 3.10 以上。docker

Docker 運行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系統爲64位、系統內核版本爲 2.6.32-431 或者更高版本。centos

查看本身的內核

uname命令用於打印當前系統相關信息(內核版本號、硬件架構、主機名稱和操做系統類型等)。安全

查看已安裝的CentOS版本信息服務器

[hwj@hwjsLinux ~]$ uname -r
3.10.0-862.el7.x86_64
[hwj@hwjsLinux ~]$ cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core)

2.2. Docker的基本組成

  1. 鏡像(image)網絡

    Docker 鏡像(Image)就是一個只讀的模板。鏡像能夠用來建立 Docker 容器,一個鏡像能夠建立不少容器。架構

  2. 容器(container)app

    Docker 利用容器(Container)獨立運行的一個或一組應用。容器是用鏡像建立的運行實例測試

    它能夠被啓動、開始、中止、刪除。每一個容器都是相互隔離的、保證安全的平臺。

    能夠把容器看作是一個簡易版的 Linux 環境(包括root用戶權限、進程空間、用戶空間和網絡空間等)和運行在其中的應用程序。

    容器的定義和鏡像幾乎如出一轍,也是一堆層的統一視角,惟一區別在於容器的最上面那一層是可讀可寫的。

  3. 倉庫(repository)

    倉庫(Repository)是集中存放鏡像文件的場所。

    倉庫(Repository)和倉庫註冊服務器(Registry)是有區別的。倉庫註冊服務器上每每存放着多個倉庫,每一個倉庫中又包含了多個鏡像,每一個鏡像有不一樣的標籤(tag)。

    倉庫分爲公開倉庫(Public)和私有倉庫(Private)兩種形式。

    最大的公開倉庫是 Docker Hub,存放了數量龐大的鏡像供用戶下載。國內的公開倉庫包括阿里雲 、網易雲 等

  4. 小總結

    須要正確的理解倉儲/鏡像/容器這幾個概念:

    Docker 自己是一個容器運行載體或稱之爲管理引擎。咱們把應用程序和配置依賴打包好造成一個可交付的運行環境,這個打包好的運行環境就彷佛 image鏡像文件。只有經過這個鏡像文件才能生成 Docker 容器。

    image 文件能夠看做是容器的模板。Docker 根據 image 文件生成容器的實例。同一個 image 文件,能夠生成多個同時運行的容器實例。

    • image 文件生成的容器實例,自己也是一個文件,稱爲鏡像文件。

    • 一個容器運行一種服務,當咱們須要的時候,就能夠經過docker客戶端建立一個對應的運行實例,也就是咱們的容器

    • 至於倉儲,就是放了一堆鏡像的地方,咱們能夠把鏡像發佈到倉儲中,須要的時候從倉儲中拉下來就能夠了。

2.3. 安裝步驟

  1. 官網文檔

    官網信息

  2. 肯定你是CentOS7及以上版本

    [root@hwjsLinux hwj]# cat /etc/redhat-release
    CentOS Linux release 7.5.1804 (Core)
  3. yum安裝gcc相關

    CentOS7能上外網

    yum -y install gcc
    yum -y install gcc-c++

    檢測安裝成功:

    gcc -v
  4. 卸載舊版本

    yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
  5. 安裝須要的軟件包

    yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
  6. 設置stable鏡像倉庫

    在國內不能使用官方倉庫,推薦阿里雲倉庫

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  7. 更新yum軟件包索引

    yum makecache fast
  8. 安裝DOCKER CE

    yum -y install docker-ce
  9. 啓動docker

    systemctl start docker
  10. 測試成功

    docker version
    docker run hello-world
  11. 配置阿里雲鏡像加速器

    阿里雲鏡像加速器配置參考

  12. 卸載

    systemctl stop docker
    yum -y remove docker-ce
    rm -rf /var/lib/docker

2.4. 底層原理

Docker是怎麼工做的

Docker是一個Client-Server結構的系統,Docker守護進程運行在主機上, 而後經過Socket鏈接從客戶端訪問,守護進程從客戶端接受命令並管理運行在主機上的容器。 容器,是一個運行時環境,就是咱們前面說到的集裝箱

爲何Docker比較比VM快

  1. docker有着比虛擬機更少的抽象層。由亍docker不須要Hypervisor實現硬件資源虛擬化,運行在docker容器上的程序直接使用的都是實際物理機的硬件資源。所以在CPU、內存利用率上docker將會在效率上有明顯優點。

  2. docker利用的是宿主機的內核,而不須要Guest OS。所以,當新建一個容器時,docker不須要和虛擬機同樣從新加載一個操做系統內核。仍而避免引尋、加載操做系統內核返個比較費時費資源的過程,當新建一個虛擬機時,虛擬機軟件須要加載Guest OS,返個新建過程是分鐘級別的。而docker因爲直接利用宿主機的操做系統,則省略了返個過程,所以新建一個docker容器只須要幾秒鐘。

相關文章
相關標籤/搜索