2017-10-23 11 views
2

レジストリに存在するDockerイメージの最新の作成日をどのように取得できますか?最近、私たちはいくつかのクラスタースレーブサーバーでDockerイメージが自動的に取得されず、プロジェクトが非常に時代遅れのコンテナ環境で実行されていたという問題があります。だから、引き出されたDockerイメージがレジストリDockerイメージより24時間古いものではないことをチェックするために、1日に1回cronスクリプトを実行することを期待しています。レジストリから最新のDockerイメージ作成日を取得する

+0

をちょうど常に引っ張るしようとしないのはなぜ?その場合、ローカルのイメージがDockerレジストリ上のイメージと同じくらい新しいものであれば、何もしません。 –

答えて

2

私が知っている最も簡単な方法は、Docker Registry REST APIを使用し、必要に応じて基本的な操作を行う簡単なスクリプトを作成することです。ここで

は、私が一緒に仕事レポのためにこれを行うだろうPythonの3のいくつかのサンプルコードです:

import requests 

repo_tag_url = 'https://hub.docker.com/v2/repositories/streamsets/datacollector/tags' 
results = requests.get(repo_tag_url).json()['results'] 
for repo in results: 
    print(repo['name'], repo['last_updated']) 

私例えば、返す、:

3.0.0.0-SNAPSHOT 2017-10-23T14:43:29.888877Z 
latest 2017-10-05T23:05:03.636155Z 
2.7.2.0 2017-10-05T22:50:53.269831Z 
2.7.2.0-RC5 2017-10-05T19:34:19.523402Z 
2.7.2.0-RC4 2017-10-05T02:05:52.522323Z 
2.7.2.0-RC3 2017-10-04T00:08:02.929502Z 
2.8.0.0-SNAPSHOT 2017-10-03T21:55:08.042479Z 
2.7.2.0-RC2 2017-10-03T19:20:56.642686Z 
2.7.2.0-RC21 2017-09-30T21:42:27.924190Z 
2.7.2.0-RC1 2017-09-30T17:34:14.409320Z 
+0

ありがとうございます。それは何を探しているようです。 –

0

何かのようなものDocker history

DOCから:

説明:たとえばドッカー履歴[オプション] IMAGE

$ docker history imageName 

画像

使用履歴を表示します--formatオプションを使う:

$ docker images --format "{{.ID}}: {{.Created}} ago" 

cc1b61406712: 2 weeks ago 
<missing>: 2 weeks ago 
<missing>: 2 weeks ago 
<missing>: 2 weeks ago 
<missing>: 2 weeks ago 
<missing>: 3 weeks ago 
<missing>: 3 weeks ago 
<missing>: 3 weeks ago 
+0

'docker history'はイメージ内のレイヤーに関する情報を表示します。問題は、レジストリ上の特定のイメージの作成日を確認することです。 –

+0

5月[この古い投稿](https://stackoverflow.com/questions/24409846/docker-check-private-registry-image-version)がお手伝いできますか? – juanlumn

+0

残念ながら。 'docker history'は便利ですが、質問の作成者が探しているものではありません。 –

関連する問題