一:出现此问题的原因是maven构建的jar不完整。

首先解压:demo-0.0.1-SNAPSHOT.jar包并打开 demo-0.0.1-SNAPSHOT\META-INF\MANIFEST.MF 文件,内容如下:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: Administrator
Created-By: Apache Maven 3.2.5
Build-Jdk: 1.8.0_261

发现缺少了启动类Start-Class: com.docker.demo.DemoApplication

找到问题,处理问题就好办了

解决方法:在pom文件修改如下:

<plugin>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-maven-plugin</artifactId>
	<version>${spring-boot.version}</version>
	<configuration>
		<mainClass>com.docker.demo.DemoApplication</mainClass>
		<skip>false</skip>
	</configuration>
   <executions>
	   <execution>
		   <id>repackage</id>
		   <goals>
			   <goal>repackage</goal>
		   </goals>
	   </execution>
   </executions>
</plugin>

用maven重新构建一下,拿demo-0.0.1-SNAPSHOT.jar 解压并打开demo-0.0.1-SNAPSHOT\META-INF\MANIFEST.MF 文件,内容会多了:

Start-Class: com.docker.demo.DemoApplication

Main-Class: org.springframework.boot.loader.JarLauncher

最后用IDEA运行Dockerfile ,查看运行日志

更多推荐