2016-12-21 7 views
-4

Dockerイメージをダウンロードすると、依存関係はダウンロードされますが、ハッシュのみが表示されます。なぜダウンロードしているのか表示されないのですか?例えばDockerがダウンロードしているものについて透明性がないのはなぜですか?

➜ ~ docker run ubuntu:16.04 
Unable to find image 'ubuntu:16.04' locally 
16.04: Pulling from library/ubuntu 
b3e1c725a85f: Downloading 40.63 MB/50.22 MB 
4daad8bdde31: Download complete 
63fe8c0068a8: Download complete 
4a70713c436f: Download complete 
bd842a2105a8: Download complete 

だけではなど、b3e1c725a85fをダウンロードだと私に言ってのポイントは何ですか?

答えて

1

イメージは、ハッシュで表されるファイルシステムのレイヤー上に作成されます。作成後、ベースイメージタグは、それから構築されたイメージに影響を与えることなく、完全に異なるセットのハッシュを指すことがあります。そして、これらの層はrunコマンドのようなものに基づいています。タグはubuntuのようなものです:16.04は画像が作られた後にのみ追加されます。

これは、4a70713c436fが、入力フォルダ自体のハッシュやマルチラインの実行コマンドに基づいていくつかのディレクトリを追加することに基づいているということです。どちらもまともなUIにはなりません。結果にタグ名がない場合や、複数のタグ付き名前を持つ場合があります。だから、最も単純な解決策は、すべてのシナリオ、つまり変わらないハッシュで普遍的で変わらないものを出力することです。

は絵のことを言い換えるするには、次の

b3e1c725a85f: could be ubuntu:16.04, ubuntu:16, ubuntu:latest, some.other.registry:5000/ubuntu-mirror:16.04 
4daad8bdde31: could be completely untagged, just a run command 
63fe8c0068a8: could be completely untagged, just a copy file 
4a70713c436f: could point to a tagged base image where that tag has since changed 
bd842a2105a8: could be created with a docker commit command (eek)