2017-06-24 14 views
6

次の画像のリストがある場合、どのように最新のタグを取得しますか? (0.0.268)私のイメージが私のイメージ0.0.2 0.0.1 fd704b8d675e
イメージの最新のタグを取得する方法は?

...私はそれがbashのとゴー・テンプレートの組み合わせで可能だと思うが、私はそれを把握することはできません9294a62d2c38例えば
私の画像0.0.9 325326e8f7a2
私の画像0.0.10 b97c64b198d9
私の画像0.0.268 8a89b5fac348

:次のコマンドを実行して
bx crでありますIBM Bluemix CLI):

tagsList=$(bx cr images --format "{{if (eq .Repository \"myregistry/mynamespace/myimage\")}} {{.Tag}}{{end}}") 

$tagsListのエコーは、次のとおりです。

このリストのうち
0.0.10 0.0.12 0.0.13 0.0.14 0.0.15 0.0.3 0.0.4 0.0.5 0.0.7 

私は0.0.15で最新のタグを、必要とします。

+1

あなたが特定の時間の前または後に作成された画像を取得する前に、フィルタを使用することができます。 https://docs.docker.com/engine/reference/commandline/images/#filtering –

+1

より動的にする必要があります...私は時間枠を指定することはできません。 –

+0

私は解決策があると思います。私の答えを更新します –

答えて

5

my-image 0.10.1 fd704b8d675e 
my-image 2.0.2 9294a62d2c38 
my-image 0.0.9 325326e8f7a2 
my-image 10.0.3 b97c64b198d9 
my-image 10.0.10 b97c64b198d9 
my-image 0.0.268 8a89b5fac348 
my-image 10.0.6 b97c64b198d9 

last_tag.sh:

#!/usr/bin/env bash 

cut -d' ' -f2 file.txt \ 
    | sort -t . -k1,1 -k2,2 -k3,3 -nr \ 
    | head -1 

-t .:正確デリミタ.
-k n,n:列のソートN番目(1ベース)
-nr:ソート番号(NO列)
-k1,1 -k2,2 -k3,3順に:順序塔1のソート、列2、列3、 、つまりメジャーバージョン、メディアバージョン、マイナーバージョンです。

出力:

10.0.10 
+2

ありがとうございました! –

関連する問題