我把开发好的biz往生产服务器上部署的时候,发现无论怎么配置,biz容器里的环境变量总是dev,为啥

Blade 未结 3 693
菲哥
菲哥 2022-10-14 11:36

一、该问题的重现步骤是什么?

  1. 我所有的biz微服务是在一个目录下,使用docker-compose部署的,如图:

  2. 1.png

  3. 2.png

3.png


4.png

docker-compose config,可以查看生效的情况,如下:

6.png



2. 8.png

3.8.png

10.png

launcher文件中我是这样配的,也尝试过全部注释,但是都没用,始终如下图:

5.png

日志如下:

[超长消息]BladeX 2.9..pdf

二、你期待的结果是什么?实际看到的又是什么?


我主要想知道:

(1)bladex对于biz工程,配置加载的判断逻辑在哪里?核心逻辑是怎么样的。

(2)我整个配置过程,究竟为何biz的微服务指定Profile=test为何不成功,问题出在哪里?


麻烦翼总指点迷津。。。。谢谢。



三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

3条回答
  •  菲哥
    菲哥 (楼主)
    2022-10-20 10:58

    test环境.png

    我登录到容器里面,执行:java -jar app.jar --spring.profiles.active=test,发现环境变量是生效的。


    我进到生产环境的服务器里,查看bladex的启动日志,发现走得也是test,如图:

    1111.png

    在测试过程中,发现:

    4444.png

    究竟应该咋写呢?


    我还发现配置在command:下的参数全部都不起作用ELK的地址也无法配置生效。奇怪。。。


    进一步查询发现,好像这个值有问题。


    3333.png


    4444.png


    dockerfile里改为:


    ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]


    就可以了。



提交回复