我需要从 docker 容器获取环境变量。这个构建是用 docker compose 文件触发的,我还用
env_file
传递了环境变量。当我使用登录到容器时
docker exec -it conatinerName bash
我可以回显变量并获得正确的输出。即使我触发了
docker exec -it containerName echo $DEBUG
在诗歌环境中,我得到了正确的答案。 当我在没有激活环境的情况下从终端会话触发此命令时,我什么也得不到。
对我来说这非常令人困惑,因为我认为我的 docker 容器与我的诗歌环境无关。我只想从容器内部获取环境变量($DEBUG),而不依赖于触发此命令的位置。
不太明白为什么它在我的开发环境中有效,而不是在其他会话中有效。但我发现了一篇关于这个主题的非常好的文章。您可以使用
printenv
从容器中获取环境变量。
https://www.baeldung.com/ops/docker-get-environment-variable