从 Docker 容器中获取环境变量

新手上路,请多包涵

Dockerfile 中未声明的 docker 容器获取环境变量的最简单方法是什么?

例如,通过一些 docker exec container /bin/bash 会话设置的环境变量?

我可以做 docker exec container env | grep ENV_VAR ,但我更喜欢只返回值的东西。

我试过使用 docker exec container echo "$ENV_VAR" ,但是替换似乎发生在容器之外,所以我没有从容器中获取环境变量,而是从我自己的计算机中获取环境变量。

谢谢。

原文由 Citronen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 502
2 个回答

在容器内运行 echo "$ENV_VAR" 以便在容器中发生变量替换的正确方法是:

 docker exec <container_id> bash -c 'echo "$ENV_VAR"'

原文由 jwodder 发布,翻译遵循 CC BY-SA 4.0 许可协议

查看所有环境变量:

 docker exec container env

得到一个:

 docker exec container env | grep VARIABLE | cut -d'=' -f2

原文由 aisbaa 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题