本文大概耗時(shí)10分鐘。
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)薊州,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):13518219792你將會(huì)看到以下內(nèi)容:
本文假定你有以下基礎(chǔ):
1.linux命令行(見(jiàn)參考鏈接)
2.必要的英語(yǔ)詞匯
為什么要用docker?
在探討docker能為我們帶來(lái)的好處時(shí),我們先得明白docker是什么。docker官網(wǎng)是這樣描述的“Docker is the world's leading software container platform.”由此可見(jiàn),docker是一個(gè)容器的平臺(tái),我們把要打包的東西放到一個(gè)容器中,然后就可以在docker這個(gè)平臺(tái)上運(yùn)行,因?yàn)閐ocker在各個(gè)系統(tǒng)下都可以安裝,所以就可以和系統(tǒng)無(wú)關(guān),屏蔽了環(huán)境的復(fù)雜性。同時(shí),docker的容器可以包含app運(yùn)行的所有依賴(lài),在部署的時(shí)候就沒(méi)有必要把所有依賴(lài)都手動(dòng)安裝一遍了。
docker中有哪幾個(gè)核心概念
雖然一上來(lái)就提概念像是教科書(shū),但是不搞懂核心概念,下面的東西你可能看不懂。。?;蛘咛^(guò)這里直接看下面也行,遇到不懂的回過(guò)頭來(lái)再看。
image和container
image就是包含了一個(gè)應(yīng)用的代碼,依賴(lài),運(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的客戶(hù)端,它和docker deamon交互。
base image與child image
base image 是指沒(méi)有父鏡像的鏡像,這些鏡像一般是系統(tǒng)級(jí)別的鏡像,如 ubuntu,alpine。child image在base image上構(gòu)建的鏡像。
Dockerfile image的描述文件。它包含了運(yùn)行app所需的所有信息。包括base image,代碼位置,工作目錄,依賴(lài),項(xiàng)目啟動(dòng)命令等等。
如何運(yùn)行docker container
docker的安裝就不贅述了,可以去看參考鏈接。
先執(zhí)行以下你的第一條docker語(yǔ)句
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,恭喜呀。
讓我們來(lái)看下那個(gè)命令運(yùn)行之后用發(fā)生了什么吧。首先,docker會(huì)去你的本地去找有沒(méi)有hello-world這個(gè)image,發(fā)現(xiàn)沒(méi)有之后它會(huì)去docker registry上去找有沒(méi)有hello-world,找到了之后把它拉取到本地,然后它又發(fā)現(xiàn)了里面的Dockerfile還有依賴(lài),它就接著拉取依賴(lài),最后,拉取成功,啟動(dòng)。
好了,把這個(gè)不再需要的container移除吧。運(yùn)行以下語(yǔ)句
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
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。