Linux カーネルに影響を及ぼす脆弱性が発見された場合、Docker では何をすべきでしょうか?

Linux カーネルに影響を及ぼす脆弱性が発見された場合、Docker では何をすべきでしょうか?

Docker を実行している Ubuntu ホスト マシンがあるとします。

FROMこのホストには、ubuntu、alpine、java:8 など、さまざまなベースイメージ () を使用する実行中のコンテナーが多数含まれています。

このホストには、手作業で作成された画像もいくつか含まれています。

現在、すべてのコンテナを停止して削除し、再度作成することができます。どのイメージにもデータは保存されていません (コンテナをコミットしません)。したがって、データが失われても問題はありません。イメージが同じである限り、サービスを再度起動することも問題にはなりません。

Linux カーネルに影響を及ぼす脆弱性が発見されたと仮定します。

ホスト OS を更新したので、ホストは脆弱性がなくなりました。Docker コンテナはホストのカーネルを使用して実行されますが、それで十分でしょうか? コンテナが脆弱性の影響を受けないようにするために、考慮すべき点や実行すべきアクションは何ですか?

答え1

Docker コンテナはホスト カーネルを使用するため、ホスト カーネルが更新されると、コンテナに問題は発生しなくなります。

ライブラリの問題は別の話です。たとえば、OpenSSL はコンテナとホストで異なる可能性があるライブラリであり、アップグレードする必要があります。

apt-get update && apt-get -q -y upgradeDockerfile の先頭にを含めることをお勧めします。そのため、イメージを定期的にビルドする必要があります。

公式イメージを使用する場合は、定期的にプルしてコンテナをアップグレードすることをお勧めします。docker-compose を使用する場合:

docker-compose pull && docker-compose up -d

アップグレードされます。プレーンな docker の場合は、プルを行う必要があります。コンテナーを削除し、同じボリュームを指す新しいコンテナーを作成します。

docker pull image
docker stop containerid && docker rm containerid
docker run image ....

よろしく

関連情報