本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记。
注:基于linux操作系统(敏感信息都进行了处理)
此文结合另一篇博客共同构成后端服务部署的教程,特此记录,并不详细解析Dockerfile的作用以及内部指令的详细解析,个人理解约定大于配置,学习docker或者nginx等等这些工具都只是在学习创造他们的人当初对工具进行的约定,比如我约定ENTRYPOINT关键字为Dockerfile中对于镜像来说的入口命令,约定Dockerfile为构建镜像时所需的文件,等等。
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
ARG PROFILE
ENV SPRING_PROFILE=$PROFILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom ","-jar","/app.jar","--spring.profiles.active=${SPRING_PROFILE}"]
以上内容大意为:先获取基础镜像,将宿主机的/tmp目录挂载到镜像中,然后获取执行build命令时的参数,有两个参数,JAR_FILE是jar包在宿主机的目录,PROFILE是选择使用哪一个配置文件(不同环境使用不通的配置文件),具体执行命令可以参考我另一篇文章,这里不再赘述。然后将jar包拷贝到镜像中,最后定义了容器运行时所要执行的命令。
原文:https://www.cnblogs.com/tian874540961/p/11915764.html