今天我們來梳理下Docker實(shí)踐的知識(shí)點(diǎn)—Docker容器。本文將從Docker容器創(chuàng)建、啟動(dòng)、和停止三個(gè)方面,為大家講解。
1、容器是獨(dú)立運(yùn)行的一個(gè)或一組應(yīng)用,及他們的運(yùn)行環(huán)境。容器是Docker中的一個(gè)重要的概念。
2、docker容器的啟動(dòng)有三種方式
a.交互方式,基于鏡像新建容器并啟動(dòng)
使用docker run命令來啟動(dòng)容器,docker在后臺(tái)運(yùn)行的標(biāo)準(zhǔn)操作包括
檢查本地是否存在指定的鏡像,不存在則從公有倉庫下載
使用鏡像創(chuàng)建并啟動(dòng)容器
分配一個(gè)文件系統(tǒng),并在只讀的鏡像層外面掛載一層可讀可寫層
從宿主主機(jī)配置的網(wǎng)橋接口中橋接一個(gè)虛擬接口道容器中去
從地址池分配一個(gè)ip地址給容器
執(zhí)行用戶指定的應(yīng)用程序
執(zhí)行完畢之后容器被終止
b、短暫方式,直接將一個(gè)已經(jīng)終止的容器啟動(dòng)運(yùn)行起來
可以使用docker start命令,直接將一個(gè)已經(jīng)終止的容器啟動(dòng)運(yùn)行起來。
[root@rocketmq-nameserver4 ~]# docker run my/python:v1 /bin/echo hello test
hello test
命令執(zhí)行完,控制臺(tái)會(huì)打印"hello test",container就終止了,不過并沒有消失,
可以用"docker ps -n 5 "看一下最新前5個(gè)的container,第一個(gè)就是剛剛執(zhí)行過的container,可以再次執(zhí)行一遍:docker start container_id
不過這次控制臺(tái)看不到”hello test”了,只能看到ID,用logs命令才能看得到:docker logs container_id。
可以看到兩個(gè)”hello test”了,因?yàn)檫@個(gè)container運(yùn)行了兩次。
c、daemon方式,守護(hù)態(tài)運(yùn)行
即讓軟件作為長(zhǎng)時(shí)間服務(wù)運(yùn)行,這就是SAAS啊!
例如我們啟動(dòng)centos后臺(tái)容器,每隔一秒打印當(dāng)天的日歷。
$ docker run -d centos /bin/sh -c "while true;do echo hello docker;sleep 1;done"
啟動(dòng)之后,我們使用docker ps -n 5查看容器的信息
要查看啟動(dòng)的centos容器中的輸出,可以使用如下方式:
$ docker logs $CONTAINER_ID ##在container外面查看它的輸出
$ docker attach $CONTAINER_ID ##連接上容器實(shí)時(shí)查看:
3、終止容器
使用docker stop $CONTAINER_ID來終止一個(gè)運(yùn)行中的容器。并且可以使用docker ps -a來看終止?fàn)顟B(tài)的容器。
終止?fàn)顟B(tài)的容器,可以使用docker start來重新啟動(dòng)。
使用docker restart命令來重啟一個(gè)容器。
以上就是有關(guān)Docker容器的全部?jī)?nèi)容啦,大家都了解清楚了嗎?更多關(guān)于“物聯(lián)網(wǎng)培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時(shí)歡迎你來試聽。