如何将 docker 环境变量读入 Java 代码

sud*_*anu 7 java rabbitmq dockerfile

我正在尝试对尝试连接到 Rabbitmq 服务器的 Java 应用程序进行 dockerize。我已经通过 docker env 变量传递了 Rabbitmq Url 并使用读取相同的 url

System.getenv("RABBITMQ_URL")

,但结果为空。我读取 docker 环境变量的方式有什么问题吗?这是我的 Docker 创建命令:

docker service create --name xxx --env RABBITMQ_URL=amqp://rabbitmq:xxxx --network msgq --with-registry-auth ${imageName}

sud*_*anu 2

这很奇怪,但是重新启动 docker 容器对我来说效果很好。事实证明,每当我使用“--network”更新网络连接时,我都必须重新启动容器。谢谢