2017-09-20 5 views
0

私は以下のTomcatのドッキングウィンドウのファイルを探しています:理解Tomcatのドッキングウィンドウのファイル

https://github.com/docker-library/tomcat/blob/5c8b74e495a1b63116b524407941b15eef58a7fe/8.0/jre8/Dockerfile

しかし、それは(例えばなどのUbuntu、Debianの、)基本イメージとしてOSを指定するべきではないのですか?

私は基本的には、ubuntu 16.x、java 8、tomcat 8を含むドッカーファイルが必要です。しかし、これを達成するために上記のdockerfileに何行も必要なのはどうしてもわかりません。

答えて

0

画像には、ドッカー画像でコンパイルする必要があるtomcat APRライブラリが含まれています。ライブラリはtomcatの実行に必須ではありませんが、高速でスケーラブルなコネクタであるため、本番環境での使用をお勧めします。

0

Dockerfileは、任意の有効なDocker画像を使用してFROMを指定できます。多くの場合、基本OSがインストールされているイメージの階層を取得し、次に特定のアプリケーションタイプを実行するためにOSをカスタマイズする子を取得します。 Javaアプリ、ノードアプリなど。

画像の内容を理解するには、FROMステートメントの階層からフォローアップして完全な画像を取得する必要があります。

Dockerfileからリンクすると、FROM openjdk:8-jreが表示されます。これは、Dockerfileopenjdk:8-jreイメージの:latestタグに基づいてイメージを作成することを示しています。つまり、画像にDockerfileが見つかり、実際にbuildpack-deps:stretch-curl画像上に作成されたopenjdk:8-jre画像は、debian:stretch画像に基づいて作成されています。

また、docker historyを画像に対して使用することもできます。 docker history openjdk:8-jreをクリックして、イメージが構成するレイヤのリストを表示します。

+0

FROM debian:stretch 

を見ることが沿って、あなたがそれを通過した場合、私はDebianのを見たときにそうします。https:://hub.dockerターンはこの1つのように見える最初から言って、それを伸ばします。 com/_/scratch/soはdebian distの別の用語である "scratch"ですか?そしてそれらのドッカーファイル名は世界的にユニークですか? – u123

+0

'scratch'はベースイメージの作成の開始点を提供する特別な予約イメージです。通常は、OSを提供する基本的なOSイメージが表示されます。 'debian:stretch'には' FROM scratch'が含まれています。インストールされているOSとそれ以外のものをあなたに与えるだけです。ドッカーのイメージ名は、それらが存在するリポジトリに固有です。Dockerhubはあるレベルの一意性を強制する主要なデフォルトリポジトリですが、あなたのローカルリポジトリに 'debian:stretch'と呼ばれる独自のイメージを構築することを止めるものはありません(紛らわしい以外は!) –

0

一部のDockerfilesで非常に多くの行が表示される理由は、イメージが最小限のベースイメージ上に構築されるためです。これは画像を小さく保つためのドッカーの非常に良い習慣と考えられます。

Ubuntuのイメージなどは何とか大きく、通常はアプリケーションのパッケージ化の最終結果を達成する必要はありません。

tomcatイメージでは、Dockerファイルはopenjdk:8-jreイメージの上に作成され、それ自体は基本debian:stretchの上に構築されます。したがって、Ubuntuのように直接Dockerfileにtomcatを直接インストールすることはできません。

関連する問題