当前位置: 首页 > 面试题库 >

从Docker容器获取环境变量

秦伯寅
2023-03-14
问题内容

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

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

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

我尝试使用docker exec container echo "$ENV_VAR",但是替换似乎发生在容器外部,因此我没有从容器中获取env
var,而是从我自己的计算机中获取了env var。

谢谢。


问题答案:

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

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


 类似资料:
  • 问题内容: 我已经设置了带有多个docker容器的服务器,可以使用jwilders nginx reversre proxy 访问。运行容器时,可以设置VIRTUAL_HOST环境变量。在容器启动后,我一直试图找出一种更新这些方法的方法。 解决方案在这里发布: 您只需停止docker daemon并在以下位置更改容器配置 要求您停止docker守护程序,但我不想不必诉诸于此。 另一个在这里,使用d

  • 问题内容: 我是Docker的新手,目前尚不清楚如何从容器访问外部数据库。硬编码连接字符串的最佳方法是吗? 问题答案: 您可以使用该标志将环境变量传递到您的容器。 启动脚本的示例: 或者,如果您不希望在命令行中使用,等显示该值,则可以直接从当前环境中获取该值,如果您不带: 如果您有许多环境变量,尤其是要保密的话,可以使用env文件: --env-file标志将文件名作为参数,并期望每行采用VAR

  • 我是Docker的新手,不清楚如何从容器访问外部数据库。是在连接字符串中硬编码的最佳方法吗?

  • 问题内容: 从容器名称获取docker容器ID的命令是什么? 问题答案: 在Linux中: 或在OS X,Windows中: 您的容器名称在哪里。 如@llia Sidorenko所述,为避免产生误报,您可以使用正则表达式锚点,如下所示: 说明: 为了安静。仅输出ID 对所有人。即使您的容器未运行也能正常工作 用于过滤器。 容器名称必须以该字符串 开头 容器名称必须 结束 这个字符串

  • 从容器名称中获取Docker容器id的命令是什么?

  • 我主要用python编程,并且有一些虚拟环境方面的经验。我是新的软件,并开始寻找docker来运行我的代码。我想了解它的功能和工作原理。 据我所知,docker容器就像虚拟环境,在执行时运行一组指令,可以将其中包含的所有内容视为一个实体(因此它或其他内容不会相互制约?)。当我读到更多关于容器的内容时,它们听起来非常完美,可以消除对虚拟环境的任何需求,但仍然不确定。如果能澄清一下,我将不胜感激,因为