当前位置: 首页 > 知识库问答 >
问题:

从dockerfile中的python脚本设置ENV变量?

郑伟彦
2023-03-14

我试图设置一个ENV等于Python脚本输出在我的dockerfile。由于分层,我无法找到将它们放在同一层的方法。我也无法找到一种方法将变量直接设置为等于脚本,我似乎无法找到如何在同一行中运行脚本。

python是一个简单的打印,称为test.py:

#!/usr/bin/env python

print("xd")

到目前为止,我已经在dockerfile中尝试了以下几个版本,以将ENV设置为脚本:

ENV testvar=test.py
ENV testvar=$(test.py)
ENV testvar='python test.py'

是否可以一步将ENV testvar设置为脚本的值,或者确保脚本和变量设置在同一层上完成?

共有1个答案

明安阳
2023-03-14

我最终能够把它放在我的入口点,并将其设置为k8的秘密(也设置在入口点),以将其传递给其他Pod。

尝试的另一个选项是将脚本输出放入txt文件,将变量设置为该文件,然后删除它。

 类似资料:
  • 我正在尝试dockerize一个基本的nodejs应用程序。我的dockerfile如下 但我总是收到同样的错误 我该怎么解决?

  • 我试图DockerizeNode.js的应用程序,而创建Dockerfile,我遇到的问题,连接到数据库的credetials存储在. txt文件。我怎么能设置的内容从该. txt文件作为一个ENV变量在我的Dockerfile?

  • 问题内容: 我有一个bash脚本,用于设置环境变量并运行命令 现在,我想使用python代替bash,因为我想计算传递给命令的一些参数。 我试过了 和 其次是 但由于未设置LD_LIBRARY_PATH,因此程序总是放弃。 我怎样才能解决这个问题? 感谢帮助! (如果我在调用python脚本之前导出LD_LIBRARY_PATH,则一切正常,但我希望python确定路径并将环境变量设置为正确的值)

  • 问题内容: 我有一个Dockerfile,我想使用默认值来配置API。 来自socialengine / nginx-spa ENV API_URL本地主机:6007 因此,当我运行此映像时,我将能够使用以下内容覆盖localhost:6007: 码头工人运行-e API_URL = production.com:6007 ui 这是行不通的,我找不到如何执行此操作的清晰说明。 有什么建议吗? 问

  • 我在php项目中有一个Dockerfile,我需要在执行过程中传递用户和密码以下载库。 用户和密码必须在生产或本地 .env 文件中隐藏。目前我只是尝试本地选项,用户和密码为空。 我使用过和,但不仅登录失败,而且当我打印变量时,它们是空的。我也试过将变量硬编码,它工作正常,所以问题是变量没有从. env文件中检索。 docker compose开始如下 还有 Dockerfile: .env 的开

  • 问题内容: 我有一个脚本来设置交叉编译所需的所有变量。这只是其中的一部分: 如果这样做,所有环境变量都将导入到当前的Shell会话中,并且可以编译我的示例。 是否可以在cmake中导入这些变量?如果是,怎么办? 更多细节: 我正在使用ELDK v 5.4,它的安装脚本生成一个脚本,该脚本设置所有环境变量 我找到了本教程,该教程说明了如何手动设置交叉编译,但没有说明如何使用脚本来设置所有内容 如果我