Docker 部署SpringBoot应用
Dockerfile 介绍
FROM:表示基础镜像,即运行环境docker中jdk8的名字
VOLUME : /tmp
创建/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录
ADD:拷贝文件并且重命名(ADD springboot-1.0-SNAPSHOT.jar /boot.jar
springboot-1.0-SNAPSHOT.jar原jar包名; 你想在docker镜像中设置的名字boot.jar
)
EXPOSE:并不是真正的发布端口,这个只是容器部署人员与建立image的人员之间的交流,即建立image的人员告诉容器布署人员容器应该映射哪个端口给外界(8080
可省略)
ENTRYPOINT:容器启动时运行的命令,相当于我们在命令行中输入java -jar xxxx.jar,为了缩短 Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINTENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/boot.jar"]
FROM java:8
VOLUME /tmp
ADD springboot-1.0-SNAPSHOT.jar /test.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/test.jar"]