詳見:[docker官網](https://docs.docker.com)linux
這裏我翻譯的只是我認爲必須瞭解和掌握的知識:docker
版本:Docker v17.09ubuntu
這部分一共六個指南:windows
1. Docker說明及方向centos
2. 創建並運行你的第一個應用oracle
3. 將你的應用標準化app
4. 跨主機部署你的服務ide
5. 添加訪問者計數器用於保存數據ui
6. 部署你的swarm到生產環境中idea
Docker的價值在於:如何build、ship、run 應用,它不關心應用具體作了什麼東西。
在瞭解Docker和爲何用Docker以前你須要瞭解的概念以下:
* IP Addresses and Ports
* Virtual Machines
* Editing configuration files
* Basic familiarity with the ideas of code dependencies and building
* Machine resource usage terms, like CPU percentages, RAM use in bytes, etc.
image: 它是輕量的、隔離的、可執行的包,它裏面有軟件運行所須要的全部的東西,好比:代碼、運行、庫文件、環境變量和配置文件。
container: 它實際就是image的一個運行的實例,它就是在內存中的鏡像。它的運行默認是徹底隔離宿主機的環境,固然若是給它權限訪
問宿主機的文件和端口也是能夠實現的。
容器與宿主機的關係:容器在宿主機的內核上運行應用,也就是比虛擬機更好(由於虛擬機是僅能經過hypervisor來訪問宿主機的資源,
container能直接訪問,他在宿主機中是一個進程,相對於其餘可執行程序來講,它不會佔用過多的內存
下圖是容器和虛擬機對比
虛擬機運行自己的操做系統,與宿主機的系統徹底隔離。容器能共享一個宿主機的kernel,容器更像源進程,你能在宿主機上控制這些進程,經過docker ps命令查看這些。同時它包含應用所須要的全部依賴,無配置衝突,因此它能運行在全部任何地方。
Docker版本:CE(社區版)和EE(企業版)
又分爲:stable和edge版(穩定版和開發版)
CE社區版:適用於初學者及中小型團隊
EE企業版:收費的。視狀況而定
下圖是企業版及社區版的區別
Capabilities |
CE |
EE-Basic |
EE-Standard |
EE-Advanced |
Container engine and built in orchestration, networking, security |
支持 |
支持 |
支持 |
支持 |
Certified infrastructure, plugins and ISV containers |
支持 |
支持 |
支持 |
|
Image management |
支持 |
支持 |
||
Container app management |
支持 |
支持 |
||
Image security scanning |
支持 |
Docker CE和EE能夠安裝在複雜的平臺:雲和on-premises。
桌面版的:
platform |
Docker CE X86-64 |
Docker CE ARM |
Docker EE |
支持 |
|||
支持 |
雲端:
platform |
Docker CE X86-64 |
Docker CE ARM |
Docker EE |
支持 |
支持 |
||
支持 |
支持 |
系統:
platform |
Docker CE X86-64 |
Docker CE ARM |
Docker CE IBM Power (ppc64le) |
Docker CE IBM Z (s390x) |
Docker EE x86_64 |
Docker EE IBM Power (ppc64le) |
Docker EE IBM Z (s390x) |
支持 |
支持 |
||||||
支持 |
支持 |
||||||
支持 |
|||||||
支持 |
|||||||
支持 |
|||||||
支持 |
支持 |
支持 |
|||||
SUSE Linux Enterprise Server |
支持 |
支持 |
支持 |
||||
支持 |
支持 |
支持 |
支持 |
支持 |
支持 |
支持 |
關於stable更新從Docker 17.03開始每兩個月更新一次,而開發版每月更新一次。
關於你使用哪一個平臺的Docker能夠點擊上述的表中的相應版本,就能夠跳轉到Docker官網相應的版本中。
這裏我只介紹CentOS平臺的CE版本,關於EE的安裝請參考官網。
操做系統的要求:安裝CE版本,須要centOS7.X的穩定版本。
同時打開系統的其餘源(centos-extras設置爲enable)。默認是開啓的。若是你關閉了請開啓
使用過程當中推薦使用overlay2的存儲引擎。
首先卸載已經安裝的舊版本docker及docker-engine。若是以前安裝了,請卸載它及它的相關依賴。
yum remove docker \
docker-common \
docker-selinux \
docker-engine
2. 設置Docker的倉庫,這裏使用的是官方的倉庫(官方推薦方法,能夠手動的管理更新,固然若是有公司本身開發的Docker版本,能夠設置本身的源倉庫。)
#安裝依賴包:yum-utils提供了yum-config-manager設施,devicemapper存儲引擎須要device-mapper-persistent-data和lvm2包。 yum install -y yum-utils device-mapper-persistent-data lvm2
#設置stable倉庫
yum-config-manager \
--add-repo https://download.docker.com/linux/centos/docker-ce.repo
#關於使用edge的,這裏可使用yum-config-manager --enable 開啓。
2. 安裝最新版。
yum install docker-ce
可使用下面命令安裝特定版本
先查有哪些版本
yum list docker-ce --showduplicates | sort -r
安裝指定版本(好比安裝docker V17.06.1
)
yum install docker-ce-17.06.1.ce
3. 啓動
systemctl start docker
4. 加入開機自啓動
systemctl enable docker
5. 驗證是否成功
docker run hello-world
下載rpm包。手動安裝。對於更新有點不方便。
下載地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
執行rpm -ivh 包名.rpm或yum 包名.rpm
卸載:yum remove docker-ce 和rm -fr /var/lib/docker