centos7安裝docker CE
查看現(xiàn)有docker版本 docker version
卸載舊版疯搅,見官網(wǎng)
https://docs.docker.com/install/linux/docker-ce/centos/#prerequisites
centos7.3 安裝docker服務(wù)以及compose 免除sudo使用docker命令
http://www.zyizou.com/archives/496
明確術(shù)語及用法
要學(xué)習(xí)docker,首先要理解它的三個(gè)概念:鏡像(Image)埋泵、容器(Container)幔欧、倉庫(Repository)。同時(shí)你還需要知道它們之間的相互關(guān)系丽声。
鏡像Image
docker鏡像是使用Dockerfile腳本礁蔗,將你的應(yīng)用以及應(yīng)用的依賴包構(gòu)建而成的一個(gè)應(yīng)用包,它通常帶有該應(yīng)用的啟動(dòng)命令雁社。而這些命令會(huì)在容器啟動(dòng)時(shí)被執(zhí)行浴井,也就是說你的應(yīng)用在啟動(dòng)容器時(shí)被啟動(dòng)。
鏡像的創(chuàng)建霉撵,需要通過配置Dockerfile腳本磺浙,然后執(zhí)行docker build命令來創(chuàng)建洪囤。
舉個(gè)例子:
docker build -t mydocker/node-server:v1 .
簡單解釋下:
后面的 “.” 表示當(dāng)前目錄下。
當(dāng)執(zhí)行docker build命令時(shí)撕氧,docker會(huì)尋找當(dāng)前目錄下的Dockerfile文件瘤缩,
并根據(jù)Dockerfile腳本文件里的指令創(chuàng)建docker鏡像
查看鏡像
root@:/tmp# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest 29e0ae3b69b9 7 days ago 484 MB
容器Container
容器是使用 docker run --name 容器名 鏡像 命令創(chuàng)建的,獨(dú)立于宿主機(jī)(服務(wù)器)的沙箱伦泥,也可以理解為一個(gè)帶有特殊結(jié)構(gòu)的盒子剥啤,它在創(chuàng)建時(shí)會(huì)自動(dòng)執(zhí)行鏡像自帶的一些指令,從而實(shí)現(xiàn)該應(yīng)用的運(yùn)行不脯。
狹隘地講府怯,容器的主要作用就在于給鏡像提供運(yùn)行空間和環(huán)境,并執(zhí)行鏡像的指令跨新。
查看正在運(yùn)行或暫停的容器 docker ps
查看系統(tǒng)上已運(yùn)行過并已退出的容器 docker ps -a
倉庫Repository
顧名思義富腊,倉庫是用來存東西的,但不是存容器域帐,而是存儲(chǔ)docker鏡像赘被。你可以把你的docker鏡像通過push命令推送到docker倉庫,然后就可以在任何能使用docker命令的地方通過pull命令把這個(gè)鏡像拉取下來肖揣。
鏡像民假,容器,倉庫的關(guān)系
docker的使用方式主要有docker命令龙优,Dockerfile腳本羊异,以及shell腳本三種。
換句話說彤断,你可以把docker當(dāng)做命令行工具來使用野舶。
有一點(diǎn)上面已經(jīng)講解過,docker是沙箱機(jī)制宰衙,容器化部署技術(shù)平道,它主要作用在于通過運(yùn)行容器來實(shí)現(xiàn)應(yīng)用部署,而容器則基于鏡像運(yùn)行供炼。
因此一屋,首先要有鏡像,有了鏡像才能基于鏡像創(chuàng)建容器袋哼,才能把鏡像存儲(chǔ)在倉庫冀墨。
于是可以這么理解,鏡像是基礎(chǔ)涛贯,容器是鏡像使用者诽嘉,倉庫是鏡像的管理員。容器和倉庫都是圍繞著鏡像來運(yùn)作的,是對(duì)鏡像的管理和使用虫腋。
另外身冬,鏡像,容器岔乔,倉庫都分別有一套自己的docker命令,用于前期的構(gòu)建以及后期的維護(hù)滚躯。