【问题标题】:Create cloudfoundry task using private repo docker image使用私有 repo docker 镜像创建 cloudfoundry 任务
【发布时间】:2018-06-03 22:07:58
【问题描述】:

我们需要将私有 repo docker 映像部署为 cloudfoundry 任务,然后从 cloudfoundry javabuildpack spring boot 应用程序调用该任务。

我正在遵循这种方法, - 我试图为 docker 镜像创建 droplet id - 然后使用 cf v3 任务 API 调用液滴。

代码步骤:

export CF_DOCKER_PASSWORD=<hsdp docker service passwork>
export CF_DOCKER_USERNAME=<hsdp docker service key>

cf v3-create-package myspringboot-app --docker-image <private-repo>/eng-bdp_bdp-dev/etlwithpython:1
cf v3-stage myspringboot-app --package-guid a3bd45cd-eb5f-4072-bee8-af0bd389f13a

v3 阶段命令抛出以下错误。

"Stager error: Failed to get blobstore download url for package a3bd45cd-eb5f-4072-bee8-af0bd389f13a"

请告诉我这个方法是正确的以及如何解决这个错误。

【问题讨论】:

    标签: docker cloud-foundry


    【解决方案1】:

    我的建议是this:

    1. 推送您的应用程序。即使因为它只是被设计为任务而无法成功启动,也只需推送它,一旦 staging 完成,您就可以运行cf stop
    2. 那么就cf run-task APP-NAME "TASK" --name TASK-NAME

    我认为这将是最简单、最直接的选择。如果由于某种原因这不起作用,您可以尝试以下方法。虽然 v3 api 不稳定,所以这可能会在未来改变/中断/停止工作。

    1. 运行cf push,但使用--no-start 选项。这将上传您的包并为您创建一个应用。
    2. 运行 cf v3-packages &lt;app&gt; 并获取包 uuid。
    3. 运行cf v3-stage &lt;app&gt; --package-guid &lt;uuid&gt;。这将暂存应用并创建一个 Droplet。
    4. 运行 cf v3-droplets &lt;app&gt; 和刚刚创建的 droplet 的 uuid。
    5. 运行cf v3-set-droplet &lt;app&gt; -d &lt;uuid&gt;,将应用与您创建的Droplet相关联。
    6. 运行cf run-task &lt;app&gt; &lt;cmd&gt; 来执行您的任务。

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-28
      • 2023-01-28
      • 2017-11-04
      • 1970-01-01
      • 2019-08-03
      • 2015-07-06
      • 1970-01-01
      • 2017-04-24
      相关资源
      最近更新 更多