docker - 如何通过命令行将参数传递给 Kubernetes 或 OpenShift 中的 Docker 容器?
问题描述
我在 Docker 映像中有一个 bash 脚本,我可以通过它传递一个命令行参数(在这个答案docker run
中指定了 bash 脚本ENTRYPOINT
和一个默认参数)。所以我会运行类似的东西CMD
docker run my_docker_test argument_1
现在我想将多个(大约 50 个)容器部署到 OpenShift 或 Kubernetes,每个容器都有不同的参数值。我知道在 Kubernetes 中我可以在对象配置 yaml 文件中指定command
and 。args
是否有可能像 in 一样直接从命令行传递参数docker run
,例如传递到kubectl
or oc
,而无需在每次我想更改参数的值时创建一个新的 yaml 文件?
解决方案
正确答案来自@Jonas,但您也可以在 yaml 文件中使用环境变量,如下所述:
作为直接提供字符串的替代方法,您可以使用环境变量定义参数
env:
- name: ARGUMENT
value: {{ argument_1 }}
args: ["$(ARGUMENT)"]
其中 {{ argument_1 }} 是环境变量。
推荐阅读
- javascript - 重定向到不重定向到所需的 url - React
- python - 如何从熊猫创建自定义列表?
- jenkins - VPN 后面的 Linux 服务器上的 Jenkins 未连接到 GitHub Webhook
- python - 逐行将字典写入纺织品
- pytorch - 手动线性回归中第一个时期后梯度消失
- python - 逻辑回归模型不学习
- bash - 如何从字符串中剪切引号之间的变量
- entity-framework - 当我在 mvc 中进行“修改”时如何发送 LIST
- wordpress - Elementor 页面倾斜问题
- postgresql - 为 PostgreSQL 设置 lc_monetary