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