上一篇随笔,nginx是启动运行在容器内,spring.boot的web项目是运行在宿主内,这一篇的目的,是把web项目也制作成镜像,然后在容器里启动。
文件目录结构如下:
主要文件结构说明:(1)bin放的是测试用的sh启动脚本,这篇随笔里暂时没用,主要用于自己测试用的。
(2)config放的是项目的外部配置文件,application.yml、log4j2.xml 等,众所周知,一般生产环境不会把配置文件打包到jar包里面。
(3)lib放的是jar包
(4)logs 日志文件夹
理想的情况是,要挂载目录,这次我就不演示如何挂载目录
Dockerfile的文件脚本如下:
FROM openjdk:8-jdk-alpine COPY ./config /usr/web/live/config COPY ./bin /usr/web/live/bin COPY ./logs /usr/web/live/logs COPY ./lib /usr/web/live/lib EXPOSE 8080 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom",\ "-jar",\ "-Dlogging.path=/usr/web/live/logs",\ "-Dloader.path=/usr/web/live/lib",\ "-Dlogging.config=/usr/web/live/config/log4j2.xml",\ "-Dspring.config.location=/usr/web/live/config/application.yml",\ "/usr/web/live/lib/app.jar"]
进入dokcerfile文件同一级目录后,制作docker文件。
docker build -t caicai/live:1.0 .
运行
docker run -p 8091:8080 caicai/live:1.0
然后IE看下效果