本文將介紹如何在Docker容器中重啟系統(tǒng)。
要想重啟容器中的操作系統(tǒng),您需要在容器內(nèi)運(yùn)行以下命令:
$ sudo reboot
這將重啟容器的操作系統(tǒng),但是在Docker容器中使用此命令會(huì)出現(xiàn)以下錯(cuò)誤:
Failed to connect to bus: No such file or directory
這是因?yàn)镈ocker容器中沒有systemd,而systemd是重啟系統(tǒng)所必需的。
在Docker容器中重啟系統(tǒng)的解決方案是使用reboot命令的另一種形式:
$ echo b >/proc/sysrq-trigger
這個(gè)命令將啟動(dòng)一個(gè)內(nèi)核級(jí)別的重啟,即觸發(fā)系統(tǒng)重新引導(dǎo)。它會(huì)向內(nèi)核發(fā)送一個(gè)指令,通知它將系統(tǒng)設(shè)置為重新引導(dǎo)。
請(qǐng)注意,此命令不會(huì)重啟容器。相反,它會(huì)引導(dǎo)容器中的操作系統(tǒng)。建議在容器內(nèi)運(yùn)行此命令之前,先停止應(yīng)用程序及服務(wù),以避免數(shù)據(jù)丟失。
總之,通過使用echo命令,我們可以在Docker容器中重啟操作系統(tǒng),但是請(qǐng)小心謹(jǐn)慎地執(zhí)行此操作。