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