在容器服务ACKdeployment中设置的env变量生效了,但是程序还是访问的dockerfile文件中的变量,为什么?
然后它访问的后端接口就是VUE_APP_BASE_URL ,是dockerfile里的值
如果在容器服务 ACK 中设置了环境变量,但程序仍然访问 Dockerfile 文件中定义的变量,可能是由于以下几个原因:
容器镜像构建过程中的缓存:当构建容器镜像时,Docker 在构建过程中会使用缓存来提高构建速度。如果你在 Dockerfile 中定义了环境变量,并且构建过程之前的层没有改变,那么 Docker 可能会继续使用之前缓存的值。为了解决这个问题,可以尝试使用 --no-cache
参数重新构建镜像,以确保最新的环境变量值被正确应用。
容器启动命令中的环境变量覆盖:有时候,在容器启动命令中指定的环境变量会覆盖 Dockerfile 中定义的环境变量。例如,通过 Kubernetes 的环境变量配置或者容器实例的环境变量设置来覆盖环境变量值。请确保在容器启动的上下文中,没有其他地方对相同的环境变量进行了覆盖。
程序内部的默认值:有些程序在没有明确设置特定环境变量时,会使用内部的默认值作为回退选项。这意味着即使你在容器中设置了环境变量,程序仍然可能使用自己的默认值。在这种情况下,你需要查看程序的文档或配置文件,了解如何正确设置环境变量。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。