Docker

jar包配置文件里的环境变量

2020-08-07  本文已影响0人  WebGiser

jar包里面都会有配置文件,包含数据库连接、应用程序端口等信息。例如spring boot程序打包后的application.properties文件。然而在程序部署的时候,配置文件里面的信息需要替换为实际的参数,因此涉及到了环境变量的映射。

新建一个spring boot项目,并打成jar包

image.png

application.properties文件代码如下:

name=${NAME:aaa}
age=${AGE:20}

HelloController.java文件代码如下:

package com.hello.demo;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/hello")
public class HelloController {

    @Value("${name}")
    private String name;

    @Value("${age}")
    private int age;

    @GetMapping("/print")
    public String print(){
        return "名字:"+name +",年龄:"+ age;
    }
}

1、window系统下的环境变量映射

启动jar包,直接访问,如下:


image.png

在环境变量中新建NAME变量,然后重新打开cmd控制台以及重启jar包,再访问,如下:


image.png
image.png

2、linux(centos7)物理机下的环境变量映射

输入以下命令,新建临时环境变量:

export NAME=111
export AGE=100

启动jar包,访问如下:


image.png

3、docker容器下的环境变量映射

将程序直接打包成镜像,启动命令如下:

docker run -d -p 8081:8080 -e NAME=QQQ -e AGE=10  --name=hello hello:1.0

访问如下:


image.png
上一篇下一篇

猜你喜欢

热点阅读