Dokcer介紹:
Docker是一種容器相關(guān)的技術(shù),簡(jiǎn)單來(lái)說(shuō)你可以把它當(dāng)做一個(gè)微型的獨(dú)立系統(tǒng),在這個(gè)系統(tǒng)里面運(yùn)行各種軟件,然后又在linux服務(wù)器上或者是電腦上運(yùn)行這個(gè)系統(tǒng),這個(gè)系統(tǒng)就被稱為Docker容器,而運(yùn)行Docker容器的機(jī)器就被稱為宿主機(jī)。Docker的特性使它可以原封不動(dòng)的在不同的環(huán)境下移植運(yùn)行,這就避免了同樣的代碼因?yàn)榉?wù)器上各種環(huán)境細(xì)微差別導(dǎo)致的BUG,而且Docker操作簡(jiǎn)單,易于上手。
Docker的應(yīng)用場(chǎng)景
- Web 應(yīng)用的自動(dòng)化打包和發(fā)布。
- 自動(dòng)化測(cè)試和持續(xù)集成、發(fā)布。
- 在服務(wù)型環(huán)境中部署和調(diào)整數(shù)據(jù)庫(kù)或其他的后臺(tái)應(yīng)用。
- 從頭編譯或者擴(kuò)展現(xiàn)有的OpenShift或Cloud Foundry平臺(tái)來(lái)搭建自己的PaaS環(huán)境。
Docker 的優(yōu)點(diǎn)
1、簡(jiǎn)化程序:
Docker 讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,便可以實(shí)現(xiàn)虛擬化。Docker改變了虛擬化的方式,使開(kāi)發(fā)者可以直接將自己的成果放入Docker中進(jìn)行管理。方便快捷已經(jīng)是 Docker的最大優(yōu)勢(shì),過(guò)去需要用數(shù)天乃至數(shù)周的 任務(wù),在Docker容器的處理下,只需要數(shù)秒就能完成。
2、避免選擇恐懼癥:
如果你有選擇恐懼癥,還是資深患者。Docker 幫你 打包你的糾結(jié)!比如 Docker 鏡像;Docker 鏡像中包含了運(yùn)行環(huán)境和配置,所以 Docker 可以簡(jiǎn)化部署多種應(yīng)用實(shí)例工作。比如 Web 應(yīng)用、后臺(tái)應(yīng)用、數(shù)據(jù)庫(kù)應(yīng)用、大數(shù)據(jù)應(yīng)用比如 Hadoop 集群、消息隊(duì)列等等都可以打包成一個(gè)鏡像部署。
3、節(jié)省開(kāi)支:
一方面,云計(jì)算時(shí)代到來(lái),使開(kāi)發(fā)者不必為了追求效果而配置高額的硬件,Docker 改變了高性能必然高價(jià)格的思維定勢(shì)。Docker 與云的結(jié)合,讓云空間得到更充分的利用。不僅解決了硬件管理的問(wèn)題,也改變了虛擬化的方式。
Docker組件:
Docker客戶端和服務(wù)器
在Docker的官網(wǎng)上提供了對(duì)應(yīng)各種不同系統(tǒng)所對(duì)應(yīng)的客戶端,用于操作Docker容器。
Docker鏡像
鏡像是Docker中最重要的一部分內(nèi)容,上面介紹我們說(shuō)了Docker可以在不同的環(huán)境下運(yùn)行時(shí)也保證容器的一致性,這就是因?yàn)槊總€(gè)Docker容器都是基于Docker鏡像創(chuàng)建的,就好比我們安裝系統(tǒng)的時(shí)候需要使用鏡像,而同一個(gè)鏡像安裝出來(lái)的系統(tǒng)又怎么可能會(huì)不一樣呢?正是因?yàn)檫@個(gè)原因,只要是基于同一個(gè)Docker鏡像生成的Docker容器必定是一模一樣的環(huán)境,然后我們就可以在任何不同的宿主機(jī)上運(yùn)行這個(gè)Docker容器,所以就保證了代碼或者是應(yīng)用程序不會(huì)因?yàn)椴煌沫h(huán)境造成不同的BUG了。
Registry
專門(mén)用來(lái)存放各種鏡像的倉(cāng)庫(kù),我們可以使用Docker Hub這個(gè)公共的倉(cāng)庫(kù),也可以自己搭建私有倉(cāng)庫(kù),就和使用Github一樣。
Docker容器
上面已經(jīng)說(shuō)過(guò)了,真正運(yùn)行在宿主機(jī)上的是Docker容器,它們是基于Docker鏡像生成的。Docker的安裝:
Docker支持Linux、mac和Windows系統(tǒng),置于安裝過(guò)程大家可以去查看官方的 Docker文檔,也可以搜索別的教程,需要一點(diǎn)Linux基礎(chǔ)。注意我們是安裝的Docker CE,Docker EE是用于商業(yè)模式的。本文下面所有的例子都是使用的CentOS 7系統(tǒng)進(jìn)行操作。
1、檢查配置是否滿足條件
在CentOS下Docker必須保證內(nèi)核版本是在3.8以上,可以使用uname -a
查看,可以看到內(nèi)核版本是3.10已經(jīng)滿足了要求。
2、安裝Device Mapper為Docker提供存儲(chǔ)能力
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
3、設(shè)置下載Docker CE的倉(cāng)庫(kù)地址
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
4、安裝Docker客戶端
sudo yum install docker-ce
5、查看Docker是否安裝成功
我們可以輸入sudo docker --version
查看Docker版本,如果能成功顯示版本號(hào)就表示安裝成功,這里可以將docker
添加到用戶組里,就不需要每次都輸入sudo
了。
6、啟動(dòng)Docker
#以守護(hù)進(jìn)程模式啟動(dòng)Docker
sudo service docker start
#設(shè)置開(kāi)機(jī)自動(dòng)啟動(dòng)Docker
systemctl start docker
7、配置Docker鏡像加速
因?yàn)镈ocker的站點(diǎn)是在國(guó)外,所以做一些網(wǎng)絡(luò)操作的時(shí)候會(huì)比較慢,我們可以配置Docker的鏡像加速器,這里我們使用阿里的鏡像加速器。我們可以根據(jù)下面的操作文檔執(zhí)行命令。
或者直接創(chuàng)建一個(gè)daemon.json
文件放到/etc/docker
目錄下,內(nèi)容如下,都可以達(dá)到同樣的目的。
重啟Dokcer之后可以使用docker info
命令查看Docker客戶端的信息,可以看到配置的鏡像加速確實(shí)是起作用了。
總結(jié):
這篇文章介紹了Docker的概念和用途,并演示了如何安裝Docker,這里是使用的官網(wǎng)的安裝教程,一些關(guān)于Docker的書(shū)籍或者其他Docker教程還會(huì)介紹一些別的安裝方式,大家可以嘗試一下,下篇文章會(huì)介紹Docker的基本使用。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。