欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Docker教程:使用容器(簡單示例)-創(chuàng)新互聯(lián)

如果你是Docker的新手,看一下你應(yīng)該學(xué)習(xí)的一些基礎(chǔ)命令,以便開始管理容器。

創(chuàng)新互聯(lián)建站專注于循化企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城網(wǎng)站建設(shè)。循化網(wǎng)站建設(shè)公司,為循化等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

Docker對軟件開發(fā)生命周期產(chǎn)生了巨大影響,使得大規(guī)模軟件部署變得簡單而且安全。這個教程將介紹運(yùn)行、啟動、停止和刪除Docker容器的基礎(chǔ)知識。


Docker使得在不同的操作系統(tǒng)上使用不同的編程語言很容易,而所有這些都在同一主機(jī)上實(shí)現(xiàn)。


在Docker之后部署你的軟件變得更加容易,你不必?fù)?dān)心錯過系統(tǒng)配置或先決條件。

Docker與虛擬機(jī)

如果你正使用虛擬運(yùn)行你的軟件,為什么還需要Docker來取代呢?


它們之間的主要區(qū)別在于Docker是一個在你的本機(jī)操作系統(tǒng)中運(yùn)行的獨(dú)立進(jìn)程,而虛擬機(jī)是一個完整的隔離操作系統(tǒng),它在主機(jī)操作系統(tǒng)之上運(yùn)行,需要更多時間來加載。所以Docker比虛擬機(jī)有更多優(yōu)勢,例如:


  • 加載速度與虛擬機(jī)不同,所需的硬件資源很少。
  • 在同一操作系統(tǒng)上同時運(yùn)行多個Docker容器。
  • 你可以修改容器并對其進(jìn)行部署,或?qū)ocker文件定義提供給朋友,以便在同一環(huán)境中工作。

實(shí)際上,Docker不是虛擬機(jī)的替代品,而是解決特定問題。


假設(shè)你的應(yīng)用程序需要3個或更多在不同操作系統(tǒng)上運(yùn)行的服務(wù),那么你可以在同一主機(jī)上平穩(wěn)運(yùn)行3個容器,而不是在同一主機(jī)上運(yùn)行3個虛擬機(jī)。聽起來很棒!


運(yùn)行你的容器

在開始之前,請確保已正確安裝Docker并準(zhǔn)備好接受命令。在新的終端窗口中鍵入以下命令:


$ docker -v

以上命令輸出PC上安裝的Docker版本:


Docker version 17.12.0-ce-rc2, build f9cde63

是時候開始運(yùn)行容器了:


$ docker container run alpine echo "Hello World"

當(dāng)您第一次運(yùn)行上述命令時,你應(yīng)該在終端窗口中看到與此類似的輸出:


這很容易,不是嗎?嘗試再次運(yùn)行相同的命令:


$ docker container run alpine echo "Hello World"


運(yùn)行上述命令的第二,第三或第n次,你應(yīng)該只在終端中看到此輸出:


Hello World

現(xiàn)在你已成功運(yùn)行容器,現(xiàn)在是時候分析究竟發(fā)生了什么。查看以下命令:


$ docker container run alpine echo "Hello World"

該命令包含多個部分。首先,你有“docker”這個詞。這是Docker命令行界面(CLI)的名稱,用于與負(fù)責(zé)運(yùn)行容器的Docker引擎進(jìn)行交互。


接下來,您有單詞“container”,它表示你正在使用的上下文。


再下一步是 實(shí)際要執(zhí)行的命令run。


現(xiàn)在,還需要告訴Docker運(yùn)行哪個容器。在這里,運(yùn)行的是 alpine 容器。


最后,需要定義在容器運(yùn)行時,應(yīng)在容器內(nèi)執(zhí)行的進(jìn)程或任務(wù)類型。這是命令的最后一部分,echo "Hello World"。


在容器內(nèi)運(yùn)行進(jìn)程

既然已經(jīng)了解了運(yùn)行容器的命令的各個部分,請嘗試在另一個容器中運(yùn)行不同的進(jìn)程:
$ docker container run centos ping -c 5 127.0.0.1

輸出如下:


在前面的示例中,使用的容器鏡像是CentOS,并且在CentOS容器內(nèi)執(zhí)行的進(jìn)程是ping -c 5 127.0.0.1,它將環(huán)回地址ping五次直到它停止。


第一行如下:


Unable to find image 'centos:latest' locally

這告訴你Docker沒有在系統(tǒng)的本地緩存中找到名為centos:latest的鏡像。因此,Docker知道它必須從存儲容器的某個鏡像源中提。


默認(rèn)情況下,Docker環(huán)境配置為從hub.docker.com的Docker Hub中提取鏡像。這由第二行表示如下:


latest: Pulling from library/centos


接下來的三行輸出如下:


85432449fd0f: Pull completeDigest: sha256:3b1a65e9a05...Status:

這告訴您Docker已成功從Docker Hub中提取了鏡像centos:latest。


后續(xù)的輸出都是由容器內(nèi)運(yùn)行的進(jìn)程生成的,這里運(yùn)行的是ping工具。


你可能還注意到latest這個關(guān)鍵字出現(xiàn)了幾次。每個映像都有一個版本(也稱為標(biāo)記),如果沒有明確指定版本,則Docker會自動其視為最新版本。


如果在系統(tǒng)上再次運(yùn)行這個容器,將不會輸出之前的五行,因?yàn)镈ocker將在本地緩存容器映像,因此不必先下載它。試試是不是這樣。


運(yùn)行一個隨機(jī)引用容器

為了運(yùn)行隨機(jī)語句容器,需要一個生成隨機(jī)語句的算法。可以在此處[1]找到生成這些隨機(jī)語句的API。
現(xiàn)在的目標(biāo)是要在容器內(nèi)運(yùn)行一個進(jìn)程,每5秒生成一條隨機(jī)語句,并且輸出到STDOUT:



按Ctrl + C停止腳本。這是輸出:



每個響應(yīng)都是一個JSON格式的字符串,包含引號,作者及其類別。
現(xiàn)在,讓這個容器后臺運(yùn)行。為此,需要將前面的腳本縮成一行,并使用 /bin/sh -c “…” 來執(zhí)行。Docker 的表達(dá)式如下:


$ docker container run -d --name quotes alpine \  /bin/sh -c "while :; do wget -qO- https://talaikis.com/api/quotes/random; printf '\n'; sleep 5; done"

當(dāng)前題目:Docker教程:使用容器(簡單示例)-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://www.chinadenli.net/article4/dhsdoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司網(wǎng)站建設(shè)定制開發(fā)關(guān)鍵詞優(yōu)化靜態(tài)網(wǎng)站網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管