?
本文檔使用 php中文網(wǎng)手冊 發(fā)布
默認(rèn)情況下,當(dāng)Docker守護(hù)進(jìn)程終止時(shí),它會(huì)關(guān)閉正在運(yùn)行的容器。從DockerEngine 1.12開始,您可以配置守護(hù)進(jìn)程,以便在守護(hù)進(jìn)程不可用時(shí)容器保持運(yùn)行。LiveRESTORE選項(xiàng)有助于減少由于守護(hù)進(jìn)程崩潰、計(jì)劃中斷或升級(jí)而導(dǎo)致的容器停機(jī)時(shí)間。
注:Windows容器不支持實(shí)時(shí)恢復(fù),但它對運(yùn)行在DockerforWindows上的Linux容器確實(shí)有效。
當(dāng)守護(hù)進(jìn)程不可用時(shí),有兩種方法可以啟用“活動(dòng)還原”設(shè)置來保持容器處于活動(dòng)狀態(tài):
如果守護(hù)進(jìn)程已經(jīng)在運(yùn)行,并且不想停止它,則可以將配置添加到守護(hù)進(jìn)程配置文件中。例如,在linux系統(tǒng)上,默認(rèn)配置文件是/etc/docker/daemon.json
...使用您最喜歡的編輯器啟用live-restore
選項(xiàng)中的daemon.json
...{
"live-restore": true
}你得給我一個(gè)SIGHUP
向守護(hù)進(jìn)程發(fā)出信號(hào),使其重新加載配置。有關(guān)如何使用config.json配置Docker守護(hù)進(jìn)程的更多信息,請參見守護(hù)進(jìn)程配置文件...
啟動(dòng)Docker守護(hù)進(jìn)程時(shí),傳遞--live-restore
國旗:
$sudo dockerd-活恢復(fù)
活動(dòng)還原功能支持將容器還原到守護(hù)進(jìn)程,以便從一個(gè)小版本升級(jí)到下一個(gè)版本。例如,由碼頭引擎1.12.1至1.13.2。
如果在升級(jí)期間跳過發(fā)布,守護(hù)進(jìn)程可能不會(huì)恢復(fù)到容器的連接。如果守護(hù)進(jìn)程無法恢復(fù)連接,它將忽略正在運(yùn)行的容器,您必須手動(dòng)管理它們。
LiveRESTORE選項(xiàng)僅用于恢復(fù)與守護(hù)進(jìn)程停止前相同的一組守護(hù)進(jìn)程選項(xiàng)。例如,如果守護(hù)進(jìn)程用不同的橋IP或不同的圖形驅(qū)動(dòng)程序重新啟動(dòng),則動(dòng)態(tài)還原可能無法工作。
長時(shí)間沒有守護(hù)進(jìn)程會(huì)影響正在運(yùn)行的容器。容器進(jìn)程寫入FIFO日志以供守護(hù)進(jìn)程使用。如果守護(hù)進(jìn)程無法使用輸出,緩沖區(qū)將填充并阻止對日志的進(jìn)一步寫入。一個(gè)完整的日志阻塞了進(jìn)程,直到有更多的空間可用為止。默認(rèn)緩沖區(qū)大小通常為64K。
必須重新啟動(dòng)Docker才能刷新緩沖區(qū)。
您可以通過更改內(nèi)核的緩沖區(qū)大小/proc/sys/fs/pipe-max-size
...
活動(dòng)還原選項(xiàng)與Docker引擎群模式不兼容。當(dāng)Docker引擎以群集模式運(yùn)行時(shí),業(yè)務(wù)流程功能管理任務(wù),并根據(jù)服務(wù)規(guī)范保持容器運(yùn)行。