Docker中运行Springboot jar时的变量传递
2023-09-14 09:01:56 时间
Docker可以把我们的运行环境打包,然后我们只要run就可以了。大部分hello world都是这么写的。但都缺少了实际应用环节。以springboot为例,hello world的Dockerfile是这样的:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
我们实际使用的时候通常是
java -jar app.jar --spring.profiles.active=prod
也就是说,需要分环境。那直接
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar", "--spring.profiles.active=prod"]
这样确实可以直接打出prod的运行包。直接run就可以了。
当同时需要打test环境的时候,我重新写一个新的Dockerfile,改成test, 然后构建,就可以了。
docker build -t demo -f Dockerfile.test .
写两个Dockerfile看起来太傻逼了,构建时替换好了。
参考链接:
相关文章
- SpringBoot 实现接口幂等性的 4 种方案!
- docker快速安装fastdfs服务springboot访问
- Docker部署_docker部署网站
- SpringBoot基础学习文章
- SpringBoot整合redis
- springboot 集成 docsify 实现随身文档
- SpringBoot运行源码分析:Spring应用上下文创建
- 快速上手springBoot(IDEA联网版带图)
- Springboot集成swagger_springboot nginx
- springboot设置时区不起作用_docker设置时区
- Docker安装docker-compose插件
- 【已解决】Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon runnin
- YAML的基本语法(SpringBoot官方建议的配置文件)
- Docker删除容器命令(docker rm)
- Docker高级篇:docker网络的四种类型
- 【Docker 系列】docker 学习八,Docker 网络
- Windows系统安装Docker遇到error during connect: In the default daemon configuration on Windows, the docker
- SpringBoot 如何保证接口安全?老鸟们都是这么玩的!
- SpringBoot之thymeleaf(Q)详解编程语言
- springboot设置接口超时详解编程语言
- docker从Abp到MySQL,使用Docker快速部署(abpmysql)
- docker managed volume – 每天5分钟玩转 Docker 容器技术(40)