一、添加maven配置
<properties> <docker.image.prefix>ms4t</docker.image.prefix> </properties> <build> <finalname>eureka</finalname> <plugins> <plugin> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-maven-plugin</artifactid> </plugin> <plugin> <groupid>com.spotify</groupid> <artifactid>dockerfile-maven-plugin</artifactid> <version>1.3.6</version> <configuration> <repository>${docker.image.prefix}/${project.artifactid}</repository> <buildargs> <jar_file>target/${project.build.finalname}.jar</jar_file> </buildargs> </configuration> </plugin> </plugins> </build>
二、创建dockerfile
from openjdk:8-jdk-alpinevolume /tmparg jar_filecopy ${jar_file} app.jarentrypoint [java,-jar,/app.jar]
参数讲解:
from <image>:<tag> 需要一个基础镜像,可以是公共的或者私有的。
后续构建会基于此镜像,如果同一个dockerfile中建立多个镜像时,可以使用多个from指令
volume 配置一个具有持久化功能的目录,主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。改步骤是可选的,如果涉及到文件系统的应用就很有必要了
。/tmp目录用来持久化到 docker 数据文件夹,因为spring boot 使用的内嵌 tomcat 容器默认使用 /tmp 作为工作目录
arg 设置编译镜像时加入的参数, env 是设置容器的环境变量
copy:只支持将本地文件复制到容器,还有个add更强大但复杂点
entrypoint 容器启动时执行的命令
expose 8080 暴露的镜像端口
三、构建
mvn install dockerfile:build
四、启动
docker run -d --name 名称 -p 对外端口:容器端口 镜像id
以上就是springboot中docker的原理分析的详细内容。