Security
如何讓 Docker 自動生存核心升級和重啟?
簡短的問題:Docker,Ubuntu 16.04,自動安全升級和重啟。那麼如何確保在自動安全升級和重啟後 Docker 嘗試啟動容器之前安裝了最新的linux-image-extra-
uname -r
?詳細問題:(以下所有內容)
我正在使用 Docker 和 Docker-Compose 來部署我的 Web 應用程序。我已將 Docker 容器配置為在重新啟動時自動啟動。而且,我已經配置了自動安全升級,包括自動重啟。
這意味著不時會自動安裝新核心並重新啟動伺服器。在此之後,Docker 將無法啟動,因為:
先前的儲存驅動程序“aufs”失敗:不支持驅動程序
(說
service docker start
)。為了解決這個問題,需要:sudo apt-get install linux-image-extra-`uname -r`
所以我把這個添加到 crontab 中:
root@edgoew1dal16gandi:~# crontab -l ... @reboot apt-get install linux-image-extra-`uname -r` 2>&1 >> /tmp/cron-edm.log
但這失敗了,因為:(我在 /tmp/cron-edm.log 文件中看到)
Err:1 http://security.ubuntu.com/ubuntu xenial-security/main amd64 linux-image-extra-4.4.0-24-generic amd64 4.4.0-24.43 Temporary failure resolving 'europe-west1.gce.archive.ubuntu.com'
但是,如果我在重新啟動後手動執行該命令,則它可以工作。顯然,
apt-get
失敗是因為它在重新啟動後過早執行?因此我想知道,我怎樣才能做到這一點:
apt-get install linux-image-extra-`uname -r`
自動,在每次伺服器重新啟動後,在Docker 啟動之前,不會因為上述*“臨時故障 …”*錯誤而失敗?
您必須為目前核心安裝虛擬包。
linux-image-extra-.*
那麼應該是一個依賴項。因此,當您安裝了通用核心時,您應該安裝了
linux-image-generic
軟體包。這取決於您在此處linux-image-extra-.*
看到的電流。順便說一句,這不是一個正常的問題。它通常應該可以正常工作。