Play框架中指定的基础泊坞窗图像在哪里?

我的应用程序使用Scala构build在Play Framework(2.5.3)上。 为了部署应用程序,我使用sbt docker:publishLocal命令创build了一个sbt docker:publishLocal 。 我正在试图找出基础泊坞窗图像文件在播放框架文件夹结构中的位置。 我在target / docker文件夹中看到一个DockerFile。 我不知道Play Framework如何创build这个DockerFile,以及Play Framework如何告诉docker在基本图像上分层应用程序。 我是scala / play / docker n00b。 请帮忙。

没有指定的Docker文件,它是由具有预定义默认值的插件生成的,可以覆盖

http://www.scala-sbt.org/sbt-native-packager/formats/docker.html

您可以看看docker.DockerPlugin,以更好地了解所使用的默认值。

你也可以看看DockerKeys的其他任务,比如

搬运工-生成,configuration

这里有一些定义,以便了解即时通讯的内容。

  • Docker容器是已configuration和存储的已存储应用程序或服务,以便Docker可以在安装Docker的任何机器上运行它。
  • Docker Images是用于运行新容器的docker容器实例的保存状态。
  • Dockerfiles是包含有关如何构builddocker映像的构build指令的文件。 这是为了卸载一些必须附加的附加参数中的一部分,以便运行一个容器,如何他们想要的。

@michaJlS我正在寻找关于基本的docker镜像的详细信息,这个镜像是框架使用的。 关于你为什么需要它的问题 – 1.我想知道它在哪里2.如果需要,我想知道如何添加另一层。

1.)这将基于你想要的东西。 如果您正在寻找docker工人即可使用的图像,只需执行docker images并find暗示您正在使用的图像。 如果您正在查找原始数据,则可以在/var/lib/docker/graphfind该数据。 然而,这是没有意义的,因为你需要的图像ID只能通过我上面给出的docker images命令指定。 如果图像构build不正确,图像将不会显示。

2.)如果你想修改或附加一个额外的图层(通过添加图层,你的意思是添加新的文件和模块到你的应用程序),你需要运行docker镜像( 通过docker run命令 )。 如果Docker镜像不能被docker守护进程find,这又是一个莫大的问题。

虽然这应该回答你的问题,但我不相信你在问什么。 与docker有关的人是希望将应用程序放入容器的人,这些容器可以在任何平台上运行,避免依赖性问题,同时保持相对的便利性 。 如果您正在尝试使用docker来放置新创build的应用程序,则需要从dockerfile构build 。

简而言之,dockerfiles是构build指令,您通常必须在运行容器之前或在内部指定。 如果您声明sbt docker命令创build了一个sbt docker文件,那么您将需要查找该文件并使用docker build命令创build图像实例(应在第二个链接中提供信息)。 为了使应用程序在容器上运行,您最好采取的行动是将其构build在具有正在运行的应用程序环境的容器中,或者只需从dockerfile构build它。

第一个select是简单地作为docker run -ti imagename ,图像是你的机器的环境,它具有正在运行的应用程序。 您可以在docker中心find一些图片,而您可能感兴趣的是这个其他人创build的播放框架图片 。 该命令将使您与容器进行交互式会话,以便您可以像在尝试在自己的环境中创build应用程序一样工作。 当您完成构build时,请不要忘记使用docker commit

build立你的图像的更快的方法将是从docker文件。 如果你知道所有的命令,并且你拥有创build和运行应用程序所需的所有依赖,只需把它们放到一个名为“Dockerfile”的文件中(按照链接2的说明和指导),然后执行docker build -t NewImageName /path/to/Dockerfile 。 这将创build一个图像,您可以使用该图像来创build该图像的容器或分发它如何看待适合。

这里的文档: http : //www.scala-sbt.org/sbt-native-packager/formats/docker.html表明,基本的形象是dockerfile / java似乎不在docker集线器,但形象的细节在github上: https : //github.com/dockerfile/java

该文档还指出,您可以使用“dockerBaseImage”环境设置或创build自定义的dockerfile来指定自己的基本映像http://www.scala-sbt.org/sbt-native-packager/formats/docker.html#custom- dockerfile

这也表明了使用自己的基础镜像时的要求:

要用作运行应用程序的基础的图像。 它应该在chown的path中包含二进制文件,mkdir,有一个可发现的java二进制文件,并包含由daemonUser(守护进程,默认情况下)configuration的用户。