博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dockerfile 构建 spring boot 镜像
阅读量:7013 次
发布时间:2019-06-28

本文共 1783 字,大约阅读时间需要 5 分钟。

hot3.png

通用dockerfile  利用已经编译好的.jar 来构建镜像。要构建的目录如下:

[root@iZuf61quxhnlk9m2tkx16cZ demo_jar]# docker build -t demo:1 .

运行镜像:

[root@iZuf61quxhnlk9m2tkx16cZ demo_jar]# docker run --rm --name demo -p 8154:8154 demo:1

服务已经启动了

dockerfile 文件如下:

FROM java:8-jre-alpineMAINTAINER xx "xx@163.com"EXPOSE 8154VOLUME /tmpCOPY . .ENTRYPOINT ["java","-jar","/demo.jar"]

查看容器内部:

这个操作就是把当前目录下的所有文件都添加到了容器中。并且只是放在了 / 目录下面。

 

优化2: dockerfile 

FROM java:8-jre-alpineMAINTAINER xxx"xxx@163.com"EXPOSE 8154RUN mkdir -p /usr/local/demo_appVOLUME /tmpCOPY . /usr/local/demo_appENV JAVA_OPTS=""ENTRYPOINT java ${JAVA_OPTS} -jar /usr/local/demo_app/demo.jar

运行:

docker run \-p 8154:8154 \--name demo \--rm \-e JAVA_OPTS='-server -Xmx512m -Xms512m' \-d \demo:1

 

优化3: dockerfile 

FROM java:8-jre-alpineMAINTAINER xx"xxxx@163.com"EXPOSE 8154RUN mkdir -p /usr/local/demo_app/configVOLUME /tmpCOPY . /usr/local/demo_appENV JAVA_OPTS=""WORKDIR /usr/local/demo_appENTRYPOINT java ${JAVA_OPTS} -jar /usr/local/demo_app/demo.jar

运行:

docker run \-p 8154:8154 \--name demo \-e JAVA_OPTS='-server -Xmx512m -Xms512m' \-v /usr/local/demo_app/logs:/usr/local/demo_app/logs \-v /usr/local/demo_app/tmp:/tmp \-v /usr/local/demo_app/config:/usr/local/demo_app/config \-d \demo:1

容器的工作目录为:

本机的目录为:

如果需要 application.yml 文件可以放在 /usr/local/demo_app/config 中如:

注意 如果demo.jar 包里也有这三个启动文件。那么spring boot 也有可能会读取到。就是读取完 file:config/applicaiton-test.yml 配置后,依然会去读取classspath:applicaiton-test.yml (Spring Boot v2.1.4.RELEASE, Spring v5.1.6.RELEASE)

但是 (Spring Boot v2.1.3.RELEASE, Spring v5.1.5.RELEASE) 中file:config/applicaiton-test.yml  的配置信息是读取不到的。最后还是要落地于实践

 

导出镜像:

[root@iZuf61quxhnlk9m2tkx16cZ ~]# docker save -o /usr/local/demo.tar demo:1

 

导入镜像:

[root@iZuf61quxhnlk9m2tkx16cZ ~]# docker load demo.tar

 

 

 

 

转载于:https://my.oschina.net/u/2552286/blog/3039133

你可能感兴趣的文章
CPU profiling
查看>>
feign调用接口session丢失解决方案
查看>>
利用 SPL 快速实现 Observer 设计模式
查看>>
本体感受和演讲能力
查看>>
Spring MVC+Ant+Tomcat+Eclipse最简单的demo
查看>>
JavaScript 对象
查看>>
UrlDecode
查看>>
Quartz.Net在windows服务中的使用
查看>>
一条直线上N个线段所覆盖的总长度
查看>>
sql server 2008学习13 触发器
查看>>
Wix学习整理(5)——安装时填写注册表
查看>>
推荐一个IE6下js调试工具(Companion.JS)
查看>>
Thrift 个人实战--Thrift 网络服务模型
查看>>
利用jQuery实现回收站删除效果
查看>>
php形式的内容被处理
查看>>
Exchanging Partitions and Subpartitions with Tables--官方文档
查看>>
js原生继承之——组合式继承实例
查看>>
log4j配置
查看>>
Jekyll学习:基本使用方法
查看>>
[Typescript] Typescript Enums vs Booleans when Handling State
查看>>