1. 程式人生 > 實用技巧 >Docker學習筆記1-docker介紹及安裝

Docker學習筆記1-docker介紹及安裝

什麼是Docker
Docker是一個開源工具,它可以將你的應用打包成一個標準映象檔案,並且以容器的方式執行。Docker容器將一系列軟體包裝在一個完整的檔案系統中,這個檔案系統包含應用程式執行所需的一切:程式碼、執行時工具、系統工具、系統依賴,幾乎所有可以安裝在伺服器上的東西。這些策略保證了容器內應用程式執行環境的穩定性,不會被容器外的系統環境影響。就像集裝箱一樣,你所要做的是是把貨物扔到集裝箱內,至於承載集裝箱的載具完全不需要關心,各個集裝箱之間也都是相互隔離的,互相不會產生影響。

Docker與虛擬機器對比
不太嚴謹的理解可以把Docker當作是一個輕量級的虛擬機器,他為應用提供所需的一切資源,但應用不需要的系統資源則不會進行虛擬維護(程序級虛擬)。而傳統的虛擬機器及時應用再小,需要的資源再少也需要虛擬並維護一個完整的作業系統,這就導致系統開銷較大,浪費了大量的資源維護不必要的環境(系統級虛擬)。同時由於Docker將執行環境封裝到了映象檔案中,為開發者提供了穩定統一的執行環境,省去了在不同平臺配置執行環境的繁瑣流程。

Docker特點

  • 輕量級
    佔用資源少,資源利用率高
  • 開放
    Docker容器可以執行在主流linux發行版和windows作業系統上
  • 安全
    容器將各個應用程式隔離開,這給所有的應用程式提供了一層額外的安全防護
  • 消除環境不一致
    將應用程式的配置和所有依賴打包成一個映象到容器中,可以保證應用在任何環境中都可以按照預期來執行,再也不用擔心不得不在不同環境中安裝相同軟體和配置的問題。

利用容器合作開發
Docker映象可以儲存到DockerHub中,和他人合作分享。可以把他理解成github的一個Docker版,只不過上傳的不是程式碼而是Docker映象。

Docker架構
Docker包括三個基本概念:

  • 映象(image): Docker 映象(Image),就相當於是一個 root 檔案系統。比如官方映象 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統的 root 檔案系統。
  • 容器(container): 映象(Image)和容器(Container)的關係,就像是面向物件程式設計中的類和例項一樣,映象是靜態的定義,容器是映象執行時的實體。容器可以被建立、啟動、停止、刪除、暫停等。
  • 倉庫(repository): 倉庫可看成一個程式碼控制中心,用來儲存映象。

Docker 使用客戶端-伺服器 (C/S) 架構模式,使用遠端API來管理和建立Docker容器。
Docker 容器通過 Docker 映象來建立。

Docker安裝

  • CentOS7安裝Docker
  1. 利用uname -r命令檢視當前系統的核心版本,Docker系統的版本需要高於3.10版本.
  2. 更新yum包到最新sudo yum update
  3. 如果安裝過舊版本的docker需要先解除安裝,沒有則可以跳過這步。sudo yum remove docker docker-common docker-selinux docker-engine
  4. 安裝需要的軟體包,yum-util提供yum-config-manager功能,另外兩個是devicemapper驅動依賴
    sudo yum install -y yum-utils device-mapper-persisitent-data lvm2
  1. 設定yum源
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 檢視所有倉庫中的docker版本,並選擇特定版本安裝
    yum list docker-ce --showduplicates | sort -r
  1. 安裝docker
    sudo yum install docker-ce該命令安裝預設最新穩定版
    sudo yum install docker-ce-指定的版本號.ce該命令安裝你指定的版本
  1. 啟動並加入開機啟動
    sudo systemctl start docker
    sudo systemctl enable docker
  1. 驗證安裝是否成功
    docker version
    如果能顯示版本資訊則表示安裝成功