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:?jiǎn)?dòng)Docker
systemctl start docker
HelloWorld
這是Docker為測(cè)試提供的一個(gè)鏡像熬甚,若能從倉(cāng)庫(kù)中抓取出鏡像并運(yùn)行說(shuō)明安裝成功
由于國(guó)外的網(wǎng)很慢十办,所以需要在配置文件中配置成國(guó)內(nèi)的鏡像倉(cāng)庫(kù)。
配置阿里云鏡像:
登錄阿里云開(kāi)發(fā)者平臺(tái)獲得加速鏡像
vim /etc/docker/daemon.json
{
"registry-mirrors": ["自己的加速地址"]
}
systemctl daemon-reload
systemctl restart docker
運(yùn)行HelloWorld
docker run hello-world
先從本地查找有無(wú)鏡像
有儡司,以該模板為鏡像生成容器運(yùn)行
無(wú),從遠(yuǎn)程倉(cāng)庫(kù)拉取鏡像,生成容器運(yùn)行铝阐,遠(yuǎn)程倉(cāng)庫(kù)沒(méi)有消玄,返回錯(cuò)誤信息枯夜,找不到該鏡像
Docker是怎么運(yùn)行的
docker是一個(gè)Client-Server結(jié)構(gòu)的系統(tǒng)挺智,docker守護(hù)進(jìn)程運(yùn)行在主機(jī)上祷愉,然后通過(guò)Socket連接從客戶端進(jìn)行訪問(wèn),守護(hù)進(jìn)程從客戶端接收命令并管理運(yùn)行在主機(jī)上的容器赦颇。容器是一個(gè)運(yùn)行環(huán)境二鳄,就是鯨魚背上的集裝箱。
docker運(yùn)行原理
docker為什么比VM快
- docker有著比虛擬機(jī)更少的抽象層媒怯。由于docker不需要Hypervisor(運(yùn)行在物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許多個(gè)操作系統(tǒng)和應(yīng)用共享一套基礎(chǔ)物理硬件)實(shí)現(xiàn)硬件資源虛擬化订讼,運(yùn)行在docker容器上的程序都是直接使用的實(shí)際物理機(jī)的硬件資源,因此在CPU,內(nèi)存利用率上docker將會(huì)在效率上有明顯優(yōu)勢(shì)扇苞。
- docker利用的是宿主機(jī)的內(nèi)核欺殿,而不需要Guest OS(虛擬機(jī)),因此寄纵,當(dāng)新建一個(gè)容器時(shí),docker不需要和虛擬機(jī)一樣重新加載一個(gè)操作系統(tǒng)內(nèi)核脖苏,因?yàn)楸苊饧虞d系統(tǒng)這些耗時(shí)資源的過(guò)程程拭。
docker容器 | 虛擬機(jī)(VM) | |
---|---|---|
操作系統(tǒng) | 與宿主機(jī)共享操作系統(tǒng) | 宿主機(jī)OS上運(yùn)行虛擬機(jī)OS |
存儲(chǔ)大小 | 鏡像小,便于存儲(chǔ)和傳輸 | 鏡像龐大G |
運(yùn)行性能 | 幾乎無(wú)額外性能損失 | 操作系統(tǒng)額外的CPU,內(nèi)存消耗 |
移植性 | 輕便棍潘,靈活恃鞋,適應(yīng)于Linux | 笨重,與虛擬化技術(shù)耦合度高 |
軟件親和性 | 面向軟件開(kāi)發(fā)者 | 面向硬件運(yùn)維者 |