2017-08-22 11 views
1

私は組織内に一連のDockerベースイメージを持っています。私は技術スタック(JavaやPythonなど)ごとに1つずつ持っています。特定のバージョンのJava用のベースイメージを作成し、それをアーティファクトにプッシュすることもできます。Dockerイメージの特定のプロパティを確認する方法

これらのベースイメージを使用してDockerファイルを構築する異なるプロジェクトを作成します。これらのプロジェクトのビルドプロセス中に、自分がDockerfileで作成したベースイメージを実際に使用していることを何らかの形で保証したいと考えています。例えば

私はAlipine上でJava用に作成された画像が

java-8-alpine-3 

呼び出された場合、その後のJavaランタイムを必要とするプロジェクトは、彼らの最初の行としてこれを持っている必要があります。

FROM java-8-alipne-3 

これはどうすれば保証されますか?言い換えれば、そのようなプロパティの使用をチェックするために画像を検査するにはどうすればよいですか?

答えて

1

click here for more info

他のソリューションは、それはあなたがすべての層を検査して行くことができるすべてのレイヤーを表示します。この

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock 
nate/dockviz images -t 

を使用することですので、減価償却され、残念ながら世紀のリンク画像の使用ドッキングウィンドウのツリーコマンド。

+0

$ INSTANCE_IDとは何ですか? Isは私が検査したいImageの名前ですか? – sparkr

+0

.Config.Imageフラグは、ベースイメージが使用されているかどうかを確認できるFROMタグに対応していますか? – sparkr

+0

well instance_idは、実行中のドッカーインスタンスの名前です – varnit

-1

あなただけのただ

docker history --no-trunc my_image

を行うと、あなたはその情報

にドキュメントを取得します、あなたのイメージを構築するために使用FROM xxxラインを知る必要がある場合

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

編集:

https://hub.docker.com/r/dduvnjak/dockerfile-from-image/

もはや

$ docker run -v /var/run/docker.sock:/var/run/docker.sock dduvnjak/dockerfile-from-image k3ck3c/nethogs FROM alpine:latest RUN apk update && apk add wget&& wget --no-check-certificate -c http://github.com/raboof/nethogs/archive/v0.8.1.tar.gz && tar zvxf v0.8.1.tar.gz && cd ./nethogs-0.8.1/ && echo "export ARCH=x86" >> Makefile && apk add sudo linux-headers ncurses-dev libpcap-dev make g++&& echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && apk update && apk add libpcap libstdc++ libgcc [email protected]&& make && sudo make install&& apk del sudo g++ make linux-headers ncurses-dev libpcap-dev libpcap libgcc libstdc++ && rm -rf /var/cache/apk/* ./nethogs-0.8.1/

を示し例えば

を動作

https://github.com/CenturyLinkLabs/dockerfile-from-image/issues/14

の固定バージョンであります

FROM

ライン正しく

またはちょうど

あなたがドッキングウィンドウの画像

docker run -v /var/run/docker.sock:/var/run/docker.sock \ 
centurylink/dockerfile-from-image <IMAGE_TAG_OR_ID> 

をリバースエンジニアリングします世紀のリンク画像を使用することができ、特定の画像についても

$ docker run -v /var/run/docker.sock:/var/run/docker.sock dduvnjak/dockerfile-from-image k3ck3c/nethogs | grep FROM FROM alpine:latest

+0

実はあなたは 'ドッキングウィンドウ履歴--no-TRUNC my_image' – kstromeiraos

+0

httpsでxxx'ラインから'得ることができません。 com/CenturyLinkLabs/dockerfile-from-imageを使ってこれを表示していましたが、現時点では壊れていて、ほぼ同じことをしています。 – user2915097

+0

コードhttps://github.com/CenturyLinkLabs/dockerfile-from- image/blob/master/dockerfile-from-image.rb – user2915097

0

FROM行に画像がありません。

docker history --no-trunc image_nameを使用して画像の履歴を取得することはできますが、FROM行を取得することはできません。

は詳細についてはドッカーのフォーラムでこのスレッドに見てみましょう:// githubの:https://forums.docker.com/t/how-can-i-view-the-dockerfile-in-an-image/5687/3

+0

いいえ!これは私が望むものではありません! Dockerfileで親画像を識別できるようにしたいと思うのは明らかです。 – sparkr

+0

私の答えに記載されているリンクに記載されているように、これは不可能です。 – kstromeiraos

+0

私の更新された答えを見て、世紀のリンクイメージが壊れているので、固定されたものが存在する – user2915097

関連する問題