[解決済み] 特定のタグを持つDockerイメージがローカルに存在するかどうかを確認する方法は?
2022-04-27 01:45:06
質問
特定のタグを持つDockerイメージがローカルに存在するかどうかを調べたいのですが、どうすればいいですか?Dockerクライアントがネイティブでこれを行えない場合、私はbashスクリプトを使用してもかまいません。
bashスクリプトのヒントになるように
docker images
コマンドは以下を返します。
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
rabbitmq latest e8e654c05c91 5 weeks ago 143.5 MB
busybox latest 8c2e06607696 6 weeks ago 2.433 MB
rabbitmq 3.4.4 a4fbaad9f996 11 weeks ago 131.5 MB
解決方法は?
私は通常
docker images -q
(のように
このスクリプト
):
if [[ "$(docker images -q myimage:mytag 2> /dev/null)" == "" ]]; then
# do something
fi
しかし
から
.
docker images
を取るだけです。
REPOSITORY
をパラメータとして使用する場合は、タグを grep する必要があります。
-q
docker images
がタグを取るようになりました (docker 1.8+)
[REPOSITORY[:TAG]]
後述するもう一つの方法は
ドッカーインスペクト
.
しかし、docker 17+では、イメージの構文が。
docker image inspect
(存在しない画像上では
終了ステータスは非0になります
)
-
は
docker images -q
メソッドは、たくさんの画像を扱うマシンでは非常に遅くなることがあります。6,500画像のマシンで実行すると44秒かかります。 -
その
docker image inspect
はすぐに返されます。
のコメントにもあるように ヘンリー・ブライス :
を使用する場合
docker image inspect my_image:my_tag
を追加し、出力を無視することができます。--format="ignore me"
という文字が表示されます。また、標準出力をリダイレクトするために
>/dev/null
が、スクリプト内でそれができない場合は、formatオプションがきれいに動作します。
関連
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] 古いDockerコンテナを削除する方法
-
[解決済み】Dockerは仮想マシンとどう違うの?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ZIPエラー - 何もできない
-
[解決済み] テスト
-
[解決済み] 部分的にコピーされたファイルでscpを再開する方法は?[クローズド]です。
-
[解決済み] find -exec cp {} でエラー 'find: missing argument to -exec' が発生した場合の解決策。TARGET_DIR + [閉店]。
-
[解決済み] etc/profileでVISIBLE=NOWを設定するのはなぜですか?
-
[解決済み] configureコマンドが見つからない cygwin
-
[解決済み] Bashスクリプトで引数を反復処理する方法
-
[解決済み] Bashを使ってプログレスインジケータを表示する [重複]。
-
[解決済み] プロジェクトからすべての .pyc ファイルを削除するにはどうすればよいですか?
-
[解決済み] パイプと二重パイプのどちらの OR 演算子を使うか?