2017-06-22 7 views
2

画像のドッカー親画像ツリーを取得する方法はありますか?私が知っている docker history IMG_NAMEは、あなたが作業している現在のイメージのイメージIDを提供しますが、それ以外のものはありません。私はセキュリティ上の懸念からこの問題をv1.10で取り上げたが、最終的なイメージが作成されたイメージのツリーを検証できないという大きな懸念があるようだ。ドッカー画像の親画像を取得する

他にも私が見つけたのはdocker save IMG_NAME -o TAR_OUTPUT.tarなので、各層のすべてのファイルを見ることができますが、それはかなり退屈なようです。

ソフトウェアの特定のイメージで修正されるのは、ソフトウェア自体のインストールと構成だけであることをどうすれば保証できますか。各連続画像を生成するために使用されるDockerfilesの変更を確認できることは、これを確認する簡単な方法になると思われます。

+0

「v1.0」と「v2.0」の両方のイメージのtarファイルを作成しましたか?両方のtarをhttp://meldmerge.org/のようなファイル/ディレクトリ比較ツールと比較するか、またはあなたが選んだ誰かのものと比較してください。 –

答えて

0

chintan thakarによるとは別に、何回か反復する必要があります。

の例では、この

はあなたがイメージに掘るしたいとして、Dockerfileはこのイメージを作成するために、明確にすべき

FROM wordpress

で始まるので、あなたは

https://hub.docker.com/_/wordpress/

に行きます

はDockerfileをご覧になり、

FROM php:5.6-apache

https://github.com/docker-library/wordpress/blob/0a5405cca8daf0338cf32dc7be26f4df5405cfb6/php5.6/apache/Dockerfile

開始しますので、

https://github.com/docker-library/php/blob/eadc27f12cfec58e270f8e37cd1b4ae9abcbb4eb/5.6/apache/Dockerfile

でPHP 5.6の参照に行くと、あなたはDockerfileが

で始まる見つけますFROM debian:jessie

はあなたがあなたがいる場合、これを行う必要があります

https://github.com/debuerreotype/docker-debian-artifacts/blob/af5a0043a929e0c87f7610da93bfe599ac40f29b/jessie/Dockerfile

でDebianのジェシーのDockerfileに移動し、このイメージを、この

FROM scratch ADD rootfs.tar.xz/ CMD ["bash"]

のように構築されていることに気づきますあなたはすべてのファイルがどこから来たのかを見たいと思う。

通知されたセキュリティ上の問題がある場合は、あなたが懸念しているかどうかを知るためにも、これを行う必要があります。

+0

DockerHub上のコミュニティイメージに対して、DockerFileをgithubで完全にミラーリングしないと、どのようなタイプの検証もできないのですか?画像自体に親画像を取得するための情報は含まれていませんか? – snowman4839

+0

イメージを持っていてDockerファイルを持っていないときは、多かれ少なかれ再構成できます。私のPythonコードはhttps://stackoverflow.com/questions/35331988/docker-how-to-access-the-dockerfile-of- an-image/35332319#35332319 https://github.com/CenturyLinkLabs/dockerfile-from-imageのように見えますが壊れています。しかし、あなたがDockerfile 'COPY */opt'を見ると、どのファイルがコピーされたのか分かりません。 – user2915097

+0

これはちょうど"欠けている "層の束を返すドッカーの履歴の出力をコピーしているようです – snowman4839

関連する問題