1.在pom.xml中增加使用docker-maven-pluginSpring Boot Maven plugin 提供了很多方便的功能包括收集的类路径上所有 jar 文件并构建成一个单一的、可运行的jar。搜索 public static void main() 方法来标记为可运行的类。properties docker.image.prefixwwk/docker.image.prefix /properties build plugins plugin groupIdcom.spotify/groupId artifactIddocker-maven-plugin/artifactId configuration imageName${docker.image.prefix}/${project.artifactId}/imageName dockerDirectorysrc/main/docker/dockerDirectory resources resource targetPath//targetPath directory${project.build.directory}/directory include${project.build.finalName}.jar/include /resource /resources /configuration /plugin /plugins /buildimageName指定镜像的名字。dockerDirectory指定 Dockerfile文件 的位置。resources是指那些需要和 Dockerfile 放在一起在构建镜像时使用的文件。构建镜像有两种方式第一种是将构建信息指定到 POM 中第二种是使用 Dockerfile 配置构建信息。2.编写DockerfileDocker 使用 Dockerfile 文件格式来指定 image 层。创建文件 src/main/docker/Dockerfile:FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD test-docker-1.0.0.jar app.jar ENTRYPOINT [java,-Djava.security.egdfile:/dev/./urandom,-jar,/app.jar]3.执行构建和运行镜像mvn package docker:builddocker run -p 8080:8080 -t wwk/test-docker[INFO] Copying /Users/hycx/i_workspace/test/test-docker/target/test-docker-0.0.1-SNAPSHOT.jar -gt; /Users/hycx/i_workspace/test/test-docker/target/docker/test-docker-0.0.1-SNAPSHOT.jar[INFO] Copying src/main/docker/Dockerfile -gt; /Users/hycx/i_workspace/test/test-docker/target/docker/Dockerfile[INFO] Building image wwk/test-docker4.手动上传Dockerfile和jar文件到服务器到同目录下运行下面的命令生成镜像。docker build -t wwk/test-docker .docker images用 Docker 构建、运行、发布来一个 Spring Boot 应用https://blog.csdn.net/kkkloveyou/article/details/50942275Alpine Linuxfrolvlad/alpine-oraclejdk8:slim 镜像的基础镜像是 Alpine Linux 3.7。Alpine Linux 是一个社区开发的面向安全应用的轻量级 Linux 发行版。Alpine采用了musl libc和busybox以减小系统的体积和运行时资源消耗在保持瘦身的同时Alpine Linux还提供了自己的包管理工具apk可以在其网站上查询或者直接通过apk命令查询和安装。Alpine Linux作为基础镜像只有5MB。Spring boot 与 dockerSpringboot服务本质上是一个java服务它也可以同时在jar中打包一个Web服务器例如tomcat。java服务运行所依赖的就是java虚拟机java虚拟机在大多数操作系统上都会安装。而spring boot服务可以打包为一个可执行的jar可以很简单的运行管理。这样一般地在已经安装了java运行环境的服务器上把spring boot服务运行于docker内的必要性就不大了。