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