【问题标题】:app.yaml to send params to Dockerfileapp.yaml 将参数发送到 Dockerfile
【发布时间】:2017-03-02 21:56:21
【问题描述】:

我正在为两种不同的服务在 Google 云灵活应用引擎上部署二进制文件。所以我有 {app-service1.yaml, Dockerfile-service1} 和 {app-service2.yaml, Dockerfile-service2}。并使用“gcloud app deploy”命令进行部署。

是否可以将 app-service[1|2].yaml 中的参数发送到单个 Dockerfile,以便我只能维护一个 Dockerfile?

我尝试了两件事,但它们不适用于“gcloud deploy”命令:

  1. "entrypoint:" in app.yaml -- 它不会覆盖 Dockerfile 中 CMD 中设置的内容。
  2. app.yaml 中的“env_variables:” -- Dockerfile 的 ENV 或 ARG 看不到 env_variables: 中定义的任何变量。

【问题讨论】:

    标签: google-app-engine dockerfile gcloud app.yaml


    【解决方案1】:

    目前没有办法(我能想到)在使用gcloud app deploy 时将参数传递到 docker 构建过程中。如果您使用的 dockerfile 相似,您可能需要考虑创建一个基本 docker 文件,构建一个基本映像,然后将其发送到 gcr.io。然后,您可以使用其他 Dockerfile(s) 扩展基本映像。

    希望这会有所帮助!

    【讨论】:

    • 感谢贾斯汀的回复。那么app.yaml中的“env_variables:”有什么用呢?我希望这是将环境变量发送到构建进程或虚拟机的方式。
    • 感谢您的帮助。我让它工作了。在 app.yaml 中,在“env_variables:”处设置环境变量。该 env 变量在映像构建时可能不可见,但它们在运行时对应用程序可见。
    猜你喜欢
    • 2016-09-14
    • 1970-01-01
    • 2017-08-26
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多