2016-11-12 7 views
0

ちょうどUbuntuでdockerを使い始めました。私は次のようにドッカー画像を引っ張った。ローカルホスト上のドッカーイメージのレイヤーを取得する方法

docker pull coreos/apache 

ここで、そこに3つの層が引っ張られています。

Using default tag: latest 
latest: Pulling from coreos/apache 
a3ed95caeb02: Pull complete 
5e160ca0bb5a: Pull complete 
1f92e2761bfd: Pull complete 
Digest: sha256:9af520cee7bedcda564970ff790cdf2e72b6daccce8539f6b3c880ed7fc21091 
Status: Downloaded newer image for coreos/apache:latest 

上記から、この画像には3つのレイヤーがあることがわかります。

しかし、ここでは、端末を閉じてもう一度開くと、この画像のレイヤー(上記の同じ情報)を取得する方法を教えてください。コマンドとは何ですか?

私がドッカーの画像を撮ると、これが表示されます。

REPOSITORY   TAG     IMAGE ID   CREATED    SIZE 
centos    latest    0584b3d2cf6d  9 days ago   196.5 MB 
hello-world   latest    c54a2cc56cbb  4 months ago  1.848 kB 
coreos/apache  latest    5a3024d885c8  2 years ago   294.4 MB 

イメージIDを知ったので、どのようにしてそのイメージIDのレイヤーを取得できますか。

docker images --tree 

のようにオプションは、もはや機能していません。それは削除されたようです。 1つのコマンドではない場合は、少なくともコマンドのシーケンスを使用してそれをどのように取得できますか?

答えて

1

イメージがローカルホスト(レイヤー内)にダウンロードされたため、端末を強制終了して再度ログインしても、イメージは引き続きホスト上に存在します。レイヤーでダウンロードされますが、ローカルホスト上のイメージとして存在し、 'ドッカー実行'を使用してコンテナにインスタンス化できるようになりました

画像をもう一度プルダウンして、あなたのイメージ(docker rmi)を消去してから、再びあなたの 'docker pull coreos/apache'をやり直してください。 HTH

編集:実行し、画像に入った実際のレイヤーを表示する:

docker history <imageid> 
+0

私は理解していますが、私が望むのは、画像が構成するレイヤーを知ることです。その情報はどのように入手できますか? – VivekDev

+1

@VivekDevの場合は、ここで概説したように、「ドッカーの履歴」を使用できます。 –

+1

https://docs.docker.com/engine/reference/commandline/history/ –

1

あなたはbusyboxを持っている場合は、ここで私はそれを得るだろうかです。

docker inspect busybox - 長い設定をjson形式で表示します。以下は、レイヤーを取得するための抜粋です。

"RootFS": { 
      "Type": "layers", 
      "Layers": [ 
       "sha256:e88b3f82283bc59d5e0df427c824e9f95557e661fcb0ea15fb0fb6f97760f9d9" 
      ] 
     } 

あなたはOPが探しているまさに与えるdocker inspect--formatオプションを使用してコマンド以下の単純なフィルタをすることができます。

rao @ ubuntu $ docker inspect --format '{{.RootFS.Layers}}' busybox 
[sha256:e88b3f82283bc59d5e0df427c824e9f95557e661fcb0ea15fb0fb6f97760f9d9] 
関連する問題