Security

如何讓 Docker 自動生存核心升級和重啟?

  • October 23, 2016

簡短的問題: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-.*看到的電流。

順便說一句,這不是一個正常的問題。它通常應該可以正常工作。

引用自:https://serverfault.com/questions/784734