您好,登錄后才能下訂單哦!
本文大概耗時(shí)10分鐘。
你將會(huì)看到以下內(nèi)容:
本文假定你有以下基礎(chǔ):
1.linux命令行(見參考鏈接)
2.必要的英語詞匯
為什么要用docker?
在探討docker能為我們帶來的好處時(shí),我們先得明白docker是什么。docker官網(wǎng)是這樣描述的“Docker is the world's leading software container platform.”由此可見,docker是一個(gè)容器的平臺(tái),我們把要打包的東西放到一個(gè)容器中,然后就可以在docker這個(gè)平臺(tái)上運(yùn)行,因?yàn)閐ocker在各個(gè)系統(tǒng)下都可以安裝,所以就可以和系統(tǒng)無關(guān),屏蔽了環(huán)境的復(fù)雜性。同時(shí),docker的容器可以包含app運(yùn)行的所有依賴,在部署的時(shí)候就沒有必要把所有依賴都手動(dòng)安裝一遍了。
docker中有哪幾個(gè)核心概念
雖然一上來就提概念像是教科書,但是不搞懂核心概念,下面的東西你可能看不懂。。?;蛘咛^這里直接看下面也行,遇到不懂的回過頭來再看。
image和container
image就是包含了一個(gè)應(yīng)用的代碼,依賴,運(yùn)行時(shí)。container可以理解為image的運(yùn)行形態(tài),它是以一個(gè)獨(dú)立的進(jìn)程存在的。
docker deamon與docker client
docker的守護(hù)進(jìn)程,后端服務(wù)。docker client是一個(gè)docker的客戶端,它和docker deamon交互。
base image與child image
base image 是指沒有父鏡像的鏡像,這些鏡像一般是系統(tǒng)級(jí)別的鏡像,如 ubuntu,alpine。child image在base image上構(gòu)建的鏡像。
Dockerfile image的描述文件。它包含了運(yùn)行app所需的所有信息。包括base image,代碼位置,工作目錄,依賴,項(xiàng)目啟動(dòng)命令等等。
如何運(yùn)行docker container
docker的安裝就不贅述了,可以去看參考鏈接。
先執(zhí)行以下你的第一條docker語句
docker container run hello-world
又是hello world,so cool,right?
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 03f4658f8b78: Pull complete a3ed95caeb02: Pull complete Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7 Status: Downloaded newer image for hello-world:latest
Hello from Docker. This message shows that your installation appears to be working correctly.
如果你能看到上面的東西,證明你已經(jīng)運(yùn)行了第一個(gè)docker container,恭喜呀。
讓我們來看下那個(gè)命令運(yùn)行之后用發(fā)生了什么吧。首先,docker會(huì)去你的本地去找有沒有hello-world這個(gè)image,發(fā)現(xiàn)沒有之后它會(huì)去docker registry上去找有沒有hello-world,找到了之后把它拉取到本地,然后它又發(fā)現(xiàn)了里面的Dockerfile還有依賴,它就接著拉取依賴,最后,拉取成功,啟動(dòng)。
好了,把這個(gè)不再需要的container移除吧。運(yùn)行以下語句
docker container ls -a
你會(huì)看到下面的東西
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9e354503933b hello-world "/hello" 4 minutes ago Exited (0) 27 seconds ago serene_engelbart
復(fù)制這個(gè)container id全部或者部分
運(yùn)行下面語句,將會(huì)移除container
docker container rm -f 9e354503933b
光移除container還是不夠的,container只是運(yùn)行形態(tài),image還在,還得把image也移除了。運(yùn)行下列語句列出你本地的images。
docker images
你會(huì)收到看到一個(gè)對(duì)應(yīng)的image id,接著通過image id移除image。
docker image rm 1815c82652c0
如何build docker image
今天就先到這里了,后續(xù)文章下次再說,嘿嘿嘿。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。