博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot-dokcer
阅读量:6514 次
发布时间:2019-06-24

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

                      

项目就一个java文件,仅用于样例

package com.example.demo;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@SpringBootApplication@RestControllerpublic class BootDockerApplication{        @Value("${app.env}")    private String env;    @RequestMapping("/")    public String home()    {        return "Hello Docker World-this env "+env;    }    public static void main(String[] args)    {        SpringApplication.run(BootDockerApplication.class, args);    }}

Dockerfile

FROM openjdk:8-jdk-alpineVOLUME /tmp#编译传入的参数ARG JAR_FILEADD ${JAR_FILE} app.jarENTRYPOINT ["sh","-c","java $JAVA_OPTS -jar /app.jar"]

关于sh -c

执行sh -c ls 和 sh ls

-c string If  the  -c  option  is  present, then commands are read from          string.  If there are arguments after the  string,  they  are          assigned to the positional parameters, starting with $0.

pom.xml

4.0.0
com.caicai
boot-demo
1.0
org.springframework.boot
spring-boot-starter-parent
1.5.4.RELEASE
1.8
zzzzz
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
com.spotify
dockerfile-maven-plugin
1.3.6
${docker.image.prefix}/${project.artifactId}
${project.version}
target/${project.build.finalName}.jar

springboot的插件需要放在docker插件前面

application.yml

spring:  profiles:    active:    - beta

application-beta.yml

logging:  level:    org.springframework: INFO    app:   env: beta

application-prod.yml

logging:  level:    org.springframework: INFO    app:   env: prod

编译镜像命令

mvn install dockerfile:build

查看镜像  docker images

启动命令,注意JAVA_OPSTS

分别为spring的环境配置,JVM远程调试和JMX命令

docker run \-e "JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=y -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9010   -Dcom.sun.management.jmxremote.rmi.port=9110 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false  -Djava.rmi.server.hostname=127.0.0.1 " \-e "SPRING_PROFILES_ACTIVE=prod" \--init \-p 8080:8080 \-p 9110:9110 \-p 9010:9010 \-p 5005:5005 \-it \zzzzz/boot-demo:1.0

  

posted on
2018-01-29 00:03 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/shuiyonglewodezzzzz/p/8372967.html

你可能感兴趣的文章
Git分支操作
查看>>
Spring Integration概述
查看>>
[SAP ABAP开发技术总结]权限对象检查
查看>>
RDIFramework.NET ━ 9.6 模块(菜单)管理 ━ Web部分
查看>>
Android安全问题 静音拍照与被拍
查看>>
cocos2d-x 3.1.1 学习笔记[13] listen 监听器
查看>>
定制私人博客
查看>>
WTL介绍
查看>>
应用程序框架实战三十四:数据传输对象(DTO)介绍及各类型实体比较(转)
查看>>
放量滞涨,抛出信号
查看>>
windows 下配置 Nginx 常见问题(转)
查看>>
BeanFactory not initialized or already closed - call 'refresh' before accessing beans解决办法
查看>>
dSYM 文件分析工具
查看>>
R语言合并data.frame
查看>>
linux主机下的Vmware Workstation配置NAT设置 端口映射-Ubuntu为例
查看>>
unity physics joint
查看>>
TD的访问地址
查看>>
JAVA常见面试题之Forward和Redirect的区别
查看>>
tmpFile.renameTo(classFile) failed 错误
查看>>
【甘道夫】Apache Hadoop 2.5.0-cdh5.2.0 HDFS Quotas 配额控制
查看>>