docker重啟命令是什么?docker容器的啟動有三種方式是哪些?
docker可以實現(xiàn)虛擬化的效果,它包括很多的部分,容器就是其中之一,而容器也是docker的一個重要的概念,容器是獨立運行的一個或者是一組應用,一個完整的docker是由多個部分組成的,分別是客戶端,鏡像和守護進程,很多朋友對于docker的開啟,關(guān)閉和重啟命令不太了解,下面就給大家具體介紹下docker重啟命令是什么以及docker容器的啟動有三種方式是哪些等問題,希望提供一些參考,幫助大家解答問題。
啟動docker,命令:systemctl start docker。
驗證docker是否啟動成功,命令:dockers version。
重啟docker,命令:systemctl restart docker。
關(guān)閉docker,命令:systemctl stop docker。
注意事項
centos6和centos7操作有區(qū)別,這里是針對centos7使用。
docker如何重啟某個容器
docker容器的重啟策略是面向生產(chǎn)環(huán)境的一個啟動策略,在開發(fā)過程中可以忽略該策略。Docker容器的重啟都是由Docker守護進程完成的,因此與守護進程息息相關(guān)。
Docker容器的重啟策略如下:
no,默認策略,在容器退出時不重啟容器。
on-failure,在容器非正常退出時(退出狀態(tài)非0),才會重啟容器。
on-failure:3,在容器非正常退出時重啟容器,最多重啟3次。
always,在容器退出時總是重啟容器。
unless-stopped,在容器退出時總是重啟容器,但是不考慮在Docker守護進程啟動時就已經(jīng)停止了的容器。
查看docker 容器重啟策略
通過–restart選項,可以設(shè)置容器的重啟策略,以決定在容器退出時Docker守護進程是否重啟剛剛退出的容器。
–restart選項通常只用于detached模式的容器。
–restart選項不能與–rm選項同時使用。顯然,–restart選項適用于detached模式的容器,而–rm選項適用于foreground模式的容器。
在docker ps查看容器時,對于使用了–restart選項的容器,其可能的狀態(tài)只有Up或Restarting兩種狀態(tài)。
docker容器的啟動有三種方式
a.交互方式,基于鏡像新建容器并啟動
例如我們可以啟動一個容器,打印出當前的日歷表。
[root@rocketmq-nameserver4 ~]# docker run my/python:v1 cal ##my/python:v1為鏡像名和標簽。
我們還可以通過指定參數(shù),啟動一個bash交互終端。
[root@rocketmq-nameserver4 ~]# docker run -it my/python:v1 /bin/bash
參數(shù)-t讓Docker分配一個偽終端并綁定在容器的標準輸入上,-i讓容器的標準輸入保持打開。
使用docker run命令來啟動容器,docker在后臺運行的標準操作包括:
1.檢查本地是否存在指定的鏡像,不存在則從公有倉庫下載。
2.使用鏡像創(chuàng)建并啟動容器。
3.分配一個文件系統(tǒng),并在只讀的鏡像層外面掛載一層可讀可寫層。
4.從宿主主機配置的網(wǎng)橋接口中橋接一個虛擬接口道容器中去。
5.從地址池分配一個ip地址給容器。
6.執(zhí)行用戶指定的應用程序。
7.執(zhí)行完畢之后容器被終止。
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)運行
即讓軟件作為長時間服務運行,這就是SAAS??!
例如我們啟動centos后臺容器,每隔一秒打印當天的日歷。
$ 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 ##連接上容器實時查看。
聲明:免責聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認相關(guān)法律責任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科