docker概念入門(mén)及安裝
初識(shí)docker
今天來(lái)學(xué)習(xí)一下docker,docker是一個(gè)開(kāi)源容器引擎,在各個(gè)軟件公司都應(yīng)用得非常廣泛。容器這玩意的出現(xiàn),解決了虛擬機(jī)笨重耗內(nèi)存的問(wèn)題,使用虛擬機(jī)是要安裝操作系統(tǒng)的,而容器則不用,它里面只放應(yīng)用程序,這個(gè)差別就很明顯了。安裝一個(gè)虛擬機(jī)費(fèi)時(shí)費(fèi)力費(fèi)內(nèi)存,我裝一個(gè)docker容器可能只用1小時(shí)就搞定了,還能打包發(fā)布成鏡像分享復(fù)用,如此簡(jiǎn)單方便的容器,它的應(yīng)用場(chǎng)景肯定也更多了。
docker是容器界大佬,提到容器基本就想到docker。先來(lái)理解一下它的幾個(gè)基本概念:鏡像、容器和倉(cāng)庫(kù)。
鏡像(image)
Docker鏡像是一個(gè)只讀的模板,可以用來(lái)創(chuàng)建Docker容器。你可以理解這一個(gè)類(lèi),它需要被new成實(shí)例才能用。
容器(container)
Docker容器就是從鏡像中new出來(lái)的實(shí)例,可以被啟動(dòng)、停止、刪除。
倉(cāng)庫(kù)(Repository)
Docker倉(cāng)庫(kù)用于存放和管理Docker鏡像,你可以類(lèi)比git,分為公共倉(cāng)庫(kù)和私有倉(cāng)庫(kù)。
加強(qiáng)理解
人類(lèi)理解一個(gè)概念是需要時(shí)間的,簡(jiǎn)單的1小時(shí)以內(nèi)了然于胸,抽象復(fù)雜的需要一天甚至更久時(shí)間來(lái)消化。不信來(lái)看這張docker經(jīng)典的logo圖。
在這張圖里面,什么是docker,什么是鏡像,什么是容器,什么又是倉(cāng)庫(kù)呢?相信初識(shí)docker的人想把這幾個(gè)概念對(duì)號(hào)入座還是有困難的。
理解不了就先安裝吧
找一個(gè)linux環(huán)境練個(gè)手吧(windows也是可以的),我這里是CentOS7.x。
配置yum源
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安裝docker
sudo yum -y install docker-ce
檢查是否成功
sudo docker -v
這幾步一般是比較順利的,看到輸出版本信息就表示docker已經(jīng)安裝好了。
要注意此時(shí)的docker是一個(gè)空的,輸入命令docker ps,什么鏡像也沒(méi)有,鏡像都沒(méi)有那就更別說(shuō)什么容器了,因?yàn)榍懊嬲f(shuō)了,容器是鏡像的實(shí)例。結(jié)合那個(gè)logo來(lái)說(shuō)的話,此時(shí)就好比那條魚(yú),呸,那條船一個(gè)集裝箱都沒(méi)有。魚(yú)船就是docker平臺(tái)本身,集裝箱就是鏡像,集裝箱占用的位置就是倉(cāng)庫(kù),集裝箱是用來(lái)裝東西的,但是集裝箱很大,里面可以new出很多小容器。這下能對(duì)號(hào)入座了吧(狗頭)。
那問(wèn)題來(lái)了鏡像在哪里?鏡像就在倉(cāng)庫(kù)里存著,前面說(shuō)了倉(cāng)庫(kù)是用來(lái)管理鏡像的,類(lèi)似于程序員熟知的github用來(lái)管理各種代碼,docker的倉(cāng)庫(kù)就叫docker hub。可以到官網(wǎng)[1]注冊(cè)一個(gè)賬號(hào)就能免費(fèi)下載各類(lèi)鏡像了。國(guó)內(nèi)用戶可以用阿里的云鏡像倉(cāng)庫(kù):https://mirrors.aliyun.com/docker-ce/linux/centos/,這樣簡(jiǎn)單點(diǎn),大家都懂。其實(shí)前面安裝的第一步,我就是配置了這個(gè)倉(cāng)庫(kù)地址。一般情況下,鏡像倉(cāng)庫(kù)里存放了很多種別人發(fā)布分享的鏡像,我們可以根據(jù)需要下載,比如nginx鏡像,就是一個(gè)包含了nginx應(yīng)用程序的docker環(huán)境,下載后配置一個(gè)容器實(shí)例可以直接用了。
行吧,今天就到這兒了,主打一個(gè)理解,后面有時(shí)間再介紹一下具體的鏡像安裝和使用。
參考資料:
- 1、https://cloud.docker.com/
- 2、https://help.aliyun.com/zh/ecs/use-cases/deploy-and-use-docker-on-alibaba-cloud-linux-2-instances?spm=5176.22414175.sslink.2.69d838f53tnlFJ#aa11e8210adyt
