我正在查看下面的tomcat docker文件:
但它不应该指定一个操作系统作为基础映像(例如Ubuntu、debian等)吗?
我基本上只需要一个包含ubuntu 16.x,java 8和tomcat 8的docker文件,但是我不确定为什么我需要在上面的dockerfile中有那么多行来完成这个任务。
发布于 2017-09-20 18:54:00
Docker使用FROM指令来指示基础镜像。如果你沿着它走,你会看到
FROM debian:stretch在https://github.com/docker-library/buildpack-deps/blob/master/stretch/curl/Dockerfile上
发布于 2017-09-20 18:49:22
镜像包含需要在docker镜像上编译的tomcat APR库。库不是tomcat运行所必需的,但建议将其投入生产环境,因为它是快速且可扩展的连接器。
发布于 2017-09-20 18:51:49
Docker可以使用任何有效的Dockerfile镜像指定FROM。你通常会得到一个镜像的层次结构,一个安装了基本操作系统的镜像,然后是定制操作系统以运行特定应用程序类型的子镜像,例如Java应用程序、Node应用程序等。
要弄清楚映像中的内容,您需要从FROM语句的层次结构中进行跟踪,以获得完整的情况。
从您链接的Dockerfile中,您可以看到FROM openjdk:8-jre。这告诉我们,此Dockerfile基于openjdk:8-jre镜像的:latest标记构建镜像。因此,这意味着我们可以找到该映像的Dockerfile,并看到openjdk:8-jre实际上构建在buildpack-deps:stretch-curl映像上,而debian:stretch映像又构建在该映像上。
或者,您可以对图像使用docker history,例如docker history openjdk:8-jre,以查看图像包含的层的列表。
https://stackoverflow.com/questions/46319900
复制相似问题