加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

Docker 容器中怎样获取环境变量

发布时间:2022-05-04 10:58:50 所属栏目:系统 来源:互联网
导读:Docker是一个容器化的平台,它将一个应用程序连同其所有的依赖关系打包。大部分情况下,这些应用程序需要一个特定的环境来启动。在Linux中,我们使用环境变量来满足这一要求。这些变量决定了应用程序的行为。 在本文中,我们将学习如何检索在运行 Docker 容
  Docker是一个容器化的平台,它将一个应用程序连同其所有的依赖关系打包。大部分情况下,这些应用程序需要一个特定的环境来启动。在Linux中,我们使用环境变量来满足这一要求。这些变量决定了应用程序的行为。
 
  在本文中,我们将学习如何检索在运行 Docker 容器时设置的所有环境变量。就像有多种方法向Docker容器传递环境变量一样,一旦设置了这些变量,也有不同的方法来获取这些变量。
 
  首先让我们了解一下环境变量的必要性。

  复制
  docker run -itd --env "my_env_var=javanorth" --name mycontainer
  1.
  在这里,我们将 my_env_var 的值 javanorth 传递到名为 mycontainer 的 Docker 容器中。
 
  现在让我们使用 docker exec 命令来获取名为 my_env_var 的环境变量。

  我们正在 Docker 容器内执行 /usr/bin/env 工具。使用这个工具,你可以查看 Docker 容器内设置的所有环境变量。注意,我们的 my_env_var 也出现在输出中。
 
  我们还可以使用下面的命令来实现类似的结果。

  注意,与之前的输出相比,有更多的环境变量。这是因为这次我们是在 /bin/sh 二进制的帮助下执行命令的。这个二进制文件隐含地设置了一些额外的环境变量。
 
  另外,/bin/sh shell并不是所有的 Docker 镜像都必须存在的。例如,在包含 /bin/bash shell的 centos Docker 镜像中,我们将使用以下命令来检索环境变量。

  printenv 是另一个命令行工具,用于显示 Linux 中的环境变量。在这里,我们将环境变量的名称 my_env_var 作为参数传给 printenv。这将打印出 my_env_var 的值。
 
  这种方法的缺点是,为了检索环境变量,Docker容器必须处于运行状态。
 
  总结
  在这篇文章中,我们学习了如何从 Docker 容器中检索所有的环境变量。我们首先讨论了Linux中环境变量的重要性。然后我们了解了 docker exec 和 docker inspect 命令来检索环境变量。
 
  docker exec方法有一些限制,而docker inspect命令可以在所有情况下运行。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读