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