Dockerイメージのうちlatestタグがついているものをすべて最新に更新する
はじめに
Docker イメージを取得する際にタグを指定しなかった場合には latest タグが自動的に利用されます。
例えば以下の二つのコマンドは両方とも同じ意味を示します。
latest タグ付きのイメージは Docker のイメージリポジトリ(DockerHub が利用されることが多いですね)が更新されてもローカルのキャッシュが利用されるため差異が発生する可能性があります。
これを避けるためにローカル PC 内にある Docker イメージを、Docker Repository の最新のイメージから一括で更新するためのコマンドを紹介します。
検証環境
前提条件
- 作業用 PC で
docker
コマンドが利用できること。
イメージ一括更新コマンド
以下のコマンドを作業用 PC で実行するだけです。
ローカル PC にある Docker イメージの中から latest というタグが付与されているものを一覧取得してひとつずつ docker pull
します。
- ローカル PC の Docker イメージ(タグ付き)の名前を一覧出力
grep
コマンドで latest タグ付きのものだけに絞り込みxargs -L1
で 1 イメージずつ、docker pull xxxx
を実行
注意
注意点が一つあります。
Doxker イメージはローカル PC でビルドすることができますが、必ずしもリモートの Docker リポジトリに PUSH しているわけがありません。
今回紹介したコマンドはローカルにある latest タグ付きの Docker イメージがリモートの Docker リポジトリに存在するかどうかはチェックしていません。
したがってリモートから取得しようとしてエラーが発生するイメージが散見される可能性があります。
とはいえリモートリポジトリに該当するどっかイメージがありませんというエラーメッセージが出るだけで何か悪さをするわけではないので気にせず実行して頂いて構いません。
ひとこと
latest タブを避けるようにするのがベストプラクティスとはいえローカルでちょっと Ubuntu の Docker イメージを動かしたい!といった場合にはタグ指定を省略するため、latest タグイメージがダウンロードされることはあります。
まれにですが特定の latest タグイメージに不具合があり正常に動作しない、といったこともありますので、そんなときには今回のコマンドで更新すると解決する場合があります。
ディスカッション
コメント一覧
まだ、コメントがありません