如何解决Openshift在创建应用程序时传递Dockerfile或Docker Image Environment变量
我正在使用Openshift ARC Platform部署我的Docker映像。
我们需要创建三个项目,每个项目的环境变量都略有变化。
# Dockerfile
ARG X
ENV PROJECT_NAME=$X
ENV SOMETHING abc-${PROJECT_NAME}
ENV DATA_DIR /data/${PROJECT_NAME}
...
当前,我们在X
期间使用--build-arg
选项提供docker build
的值。这就要求我们创建3个单独的映像(带有不同的标记),然后使用oc new-app -n <namespace> --iamge-stream=<image registry location>
语法进行部署。
我想知道是否有某种策略被广泛使用,从而避免构建ENV
变量中仅有少量更改的3个不同图像,而我们可以只使用一个图像并在使用{ {1}}。
解决方法
如果需要将变量传递给在Pod中运行的应用程序,则无需向Dockerfile添加环境变量。因此,由于环境变量,您无需创建多个图像。 https://docs.openshift.com/container-platform/3.7/dev_guide/application_lifecycle/new_app.html#specifying-environment-variables
在Openshift中,您可以按以下方式将环境变量传递到应用程序的容器中。
oc new-app -e PROJECT_NAME=projectx -e SOMETHING=abc-projectx -e DATA_DIR=/data/projectx
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。