Docker第一篇 Get Started
這裏我翻譯的只是我認為必須了解和掌握的知識:
版本:Docker v17.09
這部分一共六個指南:
1. Docker說明及方向
2. 建立並運行你的第一個應用
3. 將你的應用標準化
4. 跨主機部署你的服務
5. 添加訪問者計數器用於保存數據
6. 部署你的swarm到生產環境中
Docker的價值在於:如何build、ship、run 應用,它不關心應用具體做了什麽東西。
1.Docker 說明及方向
1. 前要(前提知識)
在了解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.
2. Docker相關概念
image: 它是輕量的、隔離的、可執行的包,它裏面有軟件運行所需要的所有的東西,比如:代碼、運行、庫文件、環境變量和配置文件。
container: 它實際就是
問宿主機的文件和端口也是可以實現的。
容器與宿主機的關系:容器在宿主機的內核上運行應用,也就是比虛擬機更好(因為虛擬機是僅能通過hypervisor來訪問宿主機的資源,
container能直接訪問,他在宿主機中是一個進程,相對於其他可執行程序來說,它不會占用過多的內存
下圖是容器和虛擬機對比
虛擬機運行本身的操作系統,與宿主機的系統完全隔離。容器能共享一個宿主機的kernel,容器更像源進程,你能在宿主機上控制這些進程,通過docker ps命令查看這些。同時它包含應用所需要的所有依賴,無配置沖突,所以它能運行在所有任何地方。
3. 安裝
版本
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 |
Mac (macOS) | 支持 | ||
Windows10) | 支持 |
雲端:
platform | Docker CE X86-64 | Docker CE ARM | Docker EE |
Amazon Web Services | 支持 | 支持 | |
Microsoft Azure | 支持 | 支持 |
系統:
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) |
CentOS | 支持 | 支持 | |||||
Debian | 支持 | 支持 | |||||
Fedora | 支持 | ||||||
Microsoft Windows Server 2016 | 支持 | ||||||
Oracle Linux | 支持 | ||||||
Red-Hat Enterprise Linux | 支持 | 支持 | 支持 | ||||
SUSE Linux Enterprise Server | 支持 | 支持 | 支持 | ||||
Ubuntu | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
關於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
安裝方法:
yum安裝
1. 設置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
Docker第一篇 Get Started