Dockerコンテナ内のアプリケーションの更新?

Dockerコンテナ内のアプリケーションの更新?

セキュリティ関連パッチの自動更新は通常、サーバー上で構成されます。したがって、MySQL 5.5を実行していて新しいセキュリティパッチが出た場合、Ubuntu Serverはアップグレードを適用し、MySQLを再起動して自動的に私を保護します。明らかにこれは無効になるかもしれませんが、少し怠惰な人には役立ちます。 ;)

Dockerコンテナ内にこれらの概念がありますか? DockerコンテナでMySQLを実行している場合は、常にコンテナを停止し、コンテナでシェルを開き、MySQLを更新してアップグレードする必要がありますか?

ベストアンサー1

私は受け入れられた答えに同意しません。まず、状態の分離を念頭に置いてコンテナを設計する必要があります(MySQLの場合、これは少なくとも/var/lib/mysql自己状態を意味します)。容量)。第二に、アップグレード戦略を決定する必要があります。最も進化したアプローチは、適切なパッケージアップグレードセットごとにバージョン管理イメージを作成し、実行中のコンテナから新しいコンテナにデータボリュームを置き換える前にテストします。次のようなものを使用する場合は、ダウンタイムが含まれている場合やダウンタイムがまったくない場合があります。お尻の痛み

この設定は初期設定のコストが高くなりますが、大規模なコンテナを所有している企業が使用するのと同じであり、時間の経過とともにメンテナンスコストが安くなります。

さらに、パッケージのアップグレードは最終的に実行中のコンテナを中断する可能性があるため、実行中のコンテナに適用することは古いソフトウェアを実行していないため、ベストプラクティスではありません。

おすすめ記事