私は以下のTomcatのドッキングウィンドウのファイルを探しています:理解Tomcatのドッキングウィンドウのファイル
しかし、それは(例えばなどのUbuntu、Debianの、)基本イメージとしてOSを指定するべきではないのですか?
私は基本的には、ubuntu 16.x、java 8、tomcat 8を含むドッカーファイルが必要です。しかし、これを達成するために上記のdockerfileに何行も必要なのはどうしてもわかりません。
私は以下のTomcatのドッキングウィンドウのファイルを探しています:理解Tomcatのドッキングウィンドウのファイル
しかし、それは(例えばなどのUbuntu、Debianの、)基本イメージとしてOSを指定するべきではないのですか?
私は基本的には、ubuntu 16.x、java 8、tomcat 8を含むドッカーファイルが必要です。しかし、これを達成するために上記のdockerfileに何行も必要なのはどうしてもわかりません。
画像には、ドッカー画像でコンパイルする必要があるtomcat APRライブラリが含まれています。ライブラリはtomcatの実行に必須ではありませんが、高速でスケーラブルなコネクタであるため、本番環境での使用をお勧めします。
Dockerfile
は、任意の有効なDocker画像を使用してFROM
を指定できます。多くの場合、基本OSがインストールされているイメージの階層を取得し、次に特定のアプリケーションタイプを実行するためにOSをカスタマイズする子を取得します。 Javaアプリ、ノードアプリなど。
画像の内容を理解するには、FROM
ステートメントの階層からフォローアップして完全な画像を取得する必要があります。
Dockerfile
からリンクすると、FROM openjdk:8-jre
が表示されます。これは、Dockerfile
がopenjdk:8-jre
イメージの:latest
タグに基づいてイメージを作成することを示しています。つまり、画像にDockerfileが見つかり、実際にbuildpack-deps:stretch-curl画像上に作成されたopenjdk:8-jre
画像は、debian:stretch画像に基づいて作成されています。
また、docker history
を画像に対して使用することもできます。 docker history openjdk:8-jre
をクリックして、イメージが構成するレイヤのリストを表示します。
一部のDockerfilesで非常に多くの行が表示される理由は、イメージが最小限のベースイメージ上に構築されるためです。これは画像を小さく保つためのドッカーの非常に良い習慣と考えられます。
Ubuntuのイメージなどは何とか大きく、通常はアプリケーションのパッケージ化の最終結果を達成する必要はありません。
tomcatイメージでは、Dockerファイルはopenjdk:8-jre
イメージの上に作成され、それ自体は基本debian:stretch
の上に構築されます。したがって、Ubuntuのように直接Dockerfileにtomcatを直接インストールすることはできません。
DockerはFROMディレクティブを使用してベースイメージを示します。 [OK]をhttps://github.com/docker-library/buildpack-deps/blob/master/stretch/curl/Dockerfile
に
を見ることが沿って、あなたがそれを通過した場合、私はDebianのを見たときにそうします。https:://hub.dockerターンはこの1つのように見える最初から言って、それを伸ばします。 com/_/scratch/soはdebian distの別の用語である "scratch"ですか?そしてそれらのドッカーファイル名は世界的にユニークですか? – u123
'scratch'はベースイメージの作成の開始点を提供する特別な予約イメージです。通常は、OSを提供する基本的なOSイメージが表示されます。 'debian:stretch'には' FROM scratch'が含まれています。インストールされているOSとそれ以外のものをあなたに与えるだけです。ドッカーのイメージ名は、それらが存在するリポジトリに固有です。Dockerhubはあるレベルの一意性を強制する主要なデフォルトリポジトリですが、あなたのローカルリポジトリに 'debian:stretch'と呼ばれる独自のイメージを構築することを止めるものはありません(紛らわしい以外は!) –