java项目的Docker文件

java项目的Docker文件,java,spring,maven,docker,dockerfile,Java,Spring,Maven,Docker,Dockerfile,我有一个项目,它使用Mave+spring+hibernate+mysql数据库,我想为这个项目创建一个docker映像。我使用了这两个命令 $mvn包docker:构建 $docker推送名称/名称 我可以创建图像,但我目前没有主功能,因此当我尝试运行图像时,它会给出错误,未找到主功能。我知道它应该有一个,但我不知道怎么做。我当前通过右键单击->运行方式->在服务器上运行来运行项目。我正在使用spring工具套件。我怎样才能创建一个做同样事情的主函数?所以,当我尝试运行我的docker映像时,

我有一个项目,它使用Mave+spring+hibernate+mysql数据库,我想为这个项目创建一个docker映像。我使用了这两个命令

$mvn包docker:构建
$docker推送名称/名称

我可以创建图像,但我目前没有主功能,因此当我尝试运行图像时,它会给出错误,未找到主功能。我知道它应该有一个,但我不知道怎么做。我当前通过右键单击->运行方式->在服务器上运行来运行项目。我正在使用spring工具套件。我怎样才能创建一个做同样事情的主函数?所以,当我尝试运行我的docker映像时,它会正常吗

当前DOCKERFILE:

FROM java:7
ADD name-ws.jar app.jar
RUN sh -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

您使用的docker文件旨在运行spring引导应用程序,这是一种部署spring应用程序的方法,该应用程序在jar中包含嵌入式web服务器

将maven工件包含在springboot中可能是您前进的最短路径。您将得到一个看起来像这样的类:

@SpringBootApplication
public class RestApplication  {


  public static void main(final String... args) throws Exception {
    ApplicationContext ctx  = SpringApplication.run(RestApplication.class, args);
  }

如果这不是您想要做的,那么您可以使用docker映像在tomcat、jetty或其他任何程序中执行您的应用程序。有很多,只需选择一个。

发布你的docker文件。我编辑了这个问题。它确实可以生成图像,我可以运行图像,但它正在寻找一个主功能,我的项目中没有这个功能。我使用spring工具套件右键单击->在服务器上运行该项目,并且一切都在本地正常运行。这是一个可执行的jar文件吗?它没有给出主清单属性,错误