[解決済み] image:tag の組み合わせが既に docker hub に存在するかどうかを確認する。
2023-07-01 02:38:14
質問
bashスクリプトの一部として、特にdocker image:tagの組み合わせがdocker hubに存在するかどうかをチェックしたいのです。また、それはプライベートリポジトリになります。
すなわち、疑似コードは次のようになります。
tag = something
if image:tag already exists on docker hub:
Do nothing
else
Build and push docker image with that tag
どのように解決するのですか?
こちらをお試しください。
function docker_tag_exists() {
curl --silent -f -lSL https://index.docker.io/v1/repositories/$1/tags/$2 > /dev/null
}
if docker_tag_exists library/nginx 1.7.5; then
echo exist
else
echo not exists
fi
更新しました。
Docker Registry v2 を使用する場合 (ベースは この ):
# set username and password
UNAME="user"
UPASS="password"
function docker_tag_exists() {
TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d '{"username": "'${UNAME}'", "password": "'${UPASS}'"}' https://hub.docker.com/v2/users/login/ | jq -r .token)
curl --silent -f --head -lL https://hub.docker.com/v2/repositories/$1/tags/$2/ > /dev/null
}
if docker_tag_exists library/nginx 1.7.5; then
echo exist
else
echo not exists
fi
関連
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] Dockerでイメージのクリーンビルドを強制する方法
-
[解決済み] Bashでsshして複数のコマンドを実行する最もクリーンな方法は何ですか?
-
[解決済み] set -u` による Bash による空の配列展開
-
[解決済み] WindowsのバッチとLinuxのBashの両方で実行できるスクリプトは?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Bashでユーザの入力を変数に読み込むには?
-
[解決済み] bashで変数に改行を埋め込もうとする [重複].
-
[解決済み] bashのタブ補完はどのように機能するのですか?
-
[解決済み] このbashのフォーク爆弾はどのように機能するのでしょうか?重複
-
[解決済み] MacOSXでZSHをデフォルトシェルにする [終了しました]。
-
[解決済み] シェルのワイルドカード文字展開を停止しますか?
-
[解決済み] Bash。フォルダ構造を保持したまま再帰的に名前付きファイルをコピーする
-
[解決済み] スペースで区切られた引数の受け渡し (bash) スクリプト
-
[解決済み] bashスクリプトの実行中に出力を強制的にファイルに出力する。
-
[解決済み] 予期しないbashの終了時に作成された一時ファイルを削除する