ノードソースのUbuntuのDockerイメージ は、apt-get upgrade
ではなくapt-get dist-upgrade
を実行して、すべてのパッケージの最新バージョンをインストールします。
apt-get dist-upgrade
は、カーネル関連のパッケージをアップグレードするコマンドと見なされます。 Dockerコンテナでは、ホストのカーネルが使用されているため、カーネルパッケージはインストールされず、apt-get upgrade
は十分に見えます。
ただし、apt-get
のマニュアルページには次のように記載されています。
dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages
これによると、他のパッケージでは、apt-get dist-upgrade
を実行して最新のパッチをインストールする必要がある場合があります。
Ubuntuの現在または過去のリリースでapt-get dist-upgrade
を必要とするパッケージはありますか?そのようなパッケージが存在する場合、Dockerコンテナでもdist-upgrade
を実行する必要があります。
一般に、dist-upgradeではなくupgradeを使用する必要があります。
一般に、問題がある場合、またはdocker開発者よりも詳しいことを感じている場合を除き、デフォルトを使用するのが最善です。
アップグレードに問題がある場合、dist-upgradeが潜在的なソリューションです。
アップグレードでは、新しいバージョンが利用可能になると新しいパッケージが更新されますが、パッケージを削除したり、追加のパッケージをインストールしたりしない場合があります。 dist-upgradeはアップグレードし、必要に応じてパッケージを追加または削除します。
Apt-getがアップグレード時に通知する内容を常に確認し、dist-upgradeでパッケージリストを確認する必要があります。
追加情報については
「dist-upgrade」とは何ですか?なぜ「upgrade」以上にアップグレードするのですか?
そして
upgrade
を使用するべきではないと言うでしょう:--no-cache
でイメージを再構築し、パッケージの最新バージョンを取得する通常のupdate
とinstall
のペアを実行します。