第一個docker容器
docker run 【OPTIONS】IMAGE【:TAG】【COMMAND】【ARG...】
用docker run命令運行第一個鏡像,打印出了一些信息茧球。這戲信息解釋了docker運行鏡像所經(jīng)歷的一系列操作泼诱。
下圖可以更加簡單的描述docker的一系列操作憔晒。
Client:執(zhí)行docker命令的客戶端
DOCKER_HOST:本機的docker服務(wù)
Registry:docker的遠程鏡像中心
docker pull首先第一步是docker daemon會檢查本機頸項上是否存在卡乾,如果存在并且版本正確,就不會做任何操作贷痪,如果不存在就會去docker倉庫找到我們想要拉取的鏡像,如果存在就會拉取鏡像到本地疆偿。
docker run的第一步是把命令發(fā)到本機的docker daemon,docker daemon會檢查鏡像在本機是否存在搓幌,如果不存在會先執(zhí)行docker pull命令把鏡像拉到本機杆故,然后在運行鏡像。
二溉愁、docker運行Nginx
首先第一步处铛,先從網(wǎng)易鏡像中心找到nginx的官方鏡像,然后拉取鏡像拐揭。
第二步撤蟆,運行nginx。
用docker run命令運行nginx之后會看到光標(biāo)閃動堂污,然后打開一個新的bash窗口家肯,輸入 docker ps命令可以看到正在運行的docker鏡像如下
從圖中可以看到docker鏡像運行的一系列信息。但是這樣啟動nginx是在前臺啟動nginx盟猖,只要control+c就能把服務(wù)停止了讨衣,但是nginx服務(wù)通常都是后臺運行的服務(wù)。
運行docker run --help查看docker run命令可加的參數(shù)是否能滿足我們后臺啟動nginx的需求式镐。
從圖中可以看到反镇,只需要在docker run命令后加入-d參數(shù)就能讓nginx在后臺啟動。
當(dāng)我們加入-d參數(shù)執(zhí)行docker run命令啟動nginx服務(wù)時發(fā)現(xiàn)這個命令返回了一個字符串參數(shù)娘汞。
繼續(xù)執(zhí)行docker ps命令查看正在運行的鏡像歹茶,發(fā)現(xiàn)剛剛執(zhí)行docker run命令返回的字符串正是docker的容器id。
接下來你弦,我們該進去docker容器中去查看我們運行的容器運行情況惊豺。執(zhí)行docker exec命令去查看容器運行情況。在此之前鳖目,我們需要查看docker exec命令可以帶什么參數(shù)扮叨。
從docker exec --help返回的可選參數(shù)中,我們把命令拼接出來為docker exec -ti {name} bash
當(dāng)我執(zhí)行docker exec命令時领迈,彈出一個提示,這可能是因為我用window系統(tǒng)的緣故,所以需要在命令前加一個winpty參數(shù)狸捅。
從圖中看到我們放佛進入了一個linux系統(tǒng)內(nèi)部衷蜓,這是由于nginx需要運行在Linux容器上,所以可以在容器內(nèi)部執(zhí)行l(wèi)inux命令尘喝。
由此已經(jīng)成功的用docker運行了nginx磁浇。