您好,登錄后才能下訂單哦!
1、容器是獨立運行的一個或一組應(yīng)用,及他們的運行環(huán)境。容器是Docker中的一個重要的概念。
2、docker容器的啟動有三種方式
a.交互方式,基于鏡像新建容器并啟動
例如我們可以啟動一個容器,打印出當(dāng)前的日歷表
[root@rocketmq-nameserver4 ~]# docker run my/python:v1 cal ##my/python:v1為鏡像名和標(biāo)簽
我們還可以通過指定參數(shù),啟動一個bash交互終端。
[root@rocketmq-nameserver4 ~]# docker run -it my/python:v1 /bin/bash
參數(shù)-t讓Docker分配一個偽終端并綁定在容器的標(biāo)準(zhǔn)輸入上,-i讓容器的標(biāo)準(zhǔn)輸入保持打開。
使用docker run命令來啟動容器,docker在后臺運行的標(biāo)準(zhǔn)操作包括
1.檢查本地是否存在指定的鏡像,不存在則從公有倉庫下載
2.使用鏡像創(chuàng)建并啟動容器
3.分配一個文件系統(tǒng),并在只讀的鏡像層外面掛載一層可讀可寫層
4.從宿主主機配置的網(wǎng)橋接口中橋接一個虛擬接口道容器中去
5.從地址池分配一個ip地址給容器
6.執(zhí)行用戶指定的應(yīng)用程序
7.執(zhí)行完畢之后容器被終止
my/sinatra:v2基于training/sinatra鏡像進行修改后的鏡像,training/sinatra為公有倉庫上的鏡像。
b、短暫方式,直接將一個已經(jīng)終止的容器啟動運行起來
可以使用docker start命令,直接將一個已經(jīng)終止的容器啟動運行起來。
[root@rocketmq-nameserver4 ~]# docker run my/python:v1 /bin/echo hello test hello test
命令執(zhí)行完,控制臺會打印"hello test",container就終止了,不過并沒有消失,可以用"docker ps -n 5 "看一下最新前5個的container,第一個就是剛剛執(zhí)行過的container,可以再次執(zhí)行一遍:docker start container_id
不過這次控制臺看不到”hello test”了,只能看到ID,用logs命令才能看得到:docker logs container_id??梢钥吹絻蓚€”hello test”了,因為這個container運行了兩次。
c、daemon方式,守護態(tài)運行
即讓軟件作為長時間服務(wù)運行,這就是SAAS啊!
例如我們啟動centos后臺容器,每隔一秒打印當(dāng)天的日歷。
$ docker run -d centos /bin/sh -c "while true;do echo hello docker;sleep 1;done"
啟動之后,我們使用docker ps -n 5查看容器的信息
要查看啟動的centos容器中的輸出,可以使用如下方式:
$ docker logs $CONTAINER_ID ##在container外面查看它的輸出 $ docker attach $CONTAINER_ID ##連接上容器實時查看:
3、終止容器
使用docker stop $CONTAINER_ID來終止一個運行中的容器。并且可以使用docker ps -a來看終止?fàn)顟B(tài)的容器。
終止?fàn)顟B(tài)的容器,可以使用docker start來重新啟動。
使用docker restart命令來重啟一個容器。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。