Less Interests
More Interest
https://docs.docker.com/install/linux/docker-ce/centos/
centos7為例
1:
yum install -y yum-utils
device-mapper-persistent-data
lvm2
2:
yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
3:
yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-test
yum-config-manager --disable docker-ce-edge
4:
安裝最新的Docker
yum install docker-ce
指定版本安裝
list docker-ce --showduplicates | sort -r
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
5:啟動Docker
systemctl start docker
HelloWorld
這是Docker為測試提供的一個鏡像,若能從倉庫中抓取出鏡像并運行說明安裝成功
由于國外的網(wǎng)很慢,所以需要在配置文件中配置成國內(nèi)的鏡像倉庫。
配置阿里云鏡像:
登錄阿里云開發(fā)者平臺獲得加速鏡像
vim /etc/docker/daemon.json
{
"registry-mirrors": ["自己的加速地址"]
}
systemctl daemon-reload
systemctl restart docker
運行HelloWorld
docker run hello-world

先從本地查找有無鏡像
有,以該模板為鏡像生成容器運行
無,從遠程倉庫拉取鏡像,生成容器運行,遠程倉庫沒有,返回錯誤信息,找不到該鏡像
Docker是怎么運行的
docker是一個Client-Server結(jié)構(gòu)的系統(tǒng),docker守護進程運行在主機上,然后通過Socket連接從客戶端進行訪問,守護進程從客戶端接收命令并管理運行在主機上的容器。容器是一個運行環(huán)境,就是鯨魚背上的集裝箱。
docker運行原理
docker為什么比VM快
- docker有著比虛擬機更少的抽象層。由于docker不需要Hypervisor(運行在物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許多個操作系統(tǒng)和應(yīng)用共享一套基礎(chǔ)物理硬件)實現(xiàn)硬件資源虛擬化,運行在docker容器上的程序都是直接使用的實際物理機的硬件資源,因此在CPU,內(nèi)存利用率上docker將會在效率上有明顯優(yōu)勢。
- docker利用的是宿主機的內(nèi)核,而不需要Guest OS(虛擬機),因此,當新建一個容器時,docker不需要和虛擬機一樣重新加載一個操作系統(tǒng)內(nèi)核,因為避免加載系統(tǒng)這些耗時資源的過程。
| docker容器 | 虛擬機(VM) | |
|---|---|---|
| 操作系統(tǒng) | 與宿主機共享操作系統(tǒng) | 宿主機OS上運行虛擬機OS |
| 存儲大小 | 鏡像小,便于存儲和傳輸 | 鏡像龐大G |
| 運行性能 | 幾乎無額外性能損失 | 操作系統(tǒng)額外的CPU,內(nèi)存消耗 |
| 移植性 | 輕便,靈活,適應(yīng)于Linux | 笨重,與虛擬化技術(shù)耦合度高 |
| 軟件親和性 | 面向軟件開發(fā)者 | 面向硬件運維者 |
