使用私有存储库 docker 镜像创建 cloudfoundry 任务



我们需要将私有存储库docker镜像部署为Cloudfoundry任务,然后从Cloudfoundry javabuildpack Spring boot应用程序调用该任务。

我遵循这种方法, - 我尝试为 docker 映像创建快捷批处理 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"

请让我知道这种方法是正确的以及如何解决此错误。

我的建议是这样做:

  1. 推送您的应用程序。 即使它不会成功启动,因为它只是设计为一个任务,只需推送它,一旦暂存完成,您就可以运行cf stop
  2. 然后就cf run-task APP-NAME "TASK" --name TASK-NAME.

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

  1. 运行cf push,但使用--no-start选项。 这将上传您的包并为您创建一个应用程序。
  2. 运行cf v3-packages <app>并获取包 uuid。
  3. 运行cf v3-stage <app> --package-guid <uuid>. 这将暂存应用并创建快捷批处理。
  4. 运行刚刚创建的快捷批处理的cf v3-droplets <app>和 uuid。
  5. 运行cf v3-set-droplet <app> -d <uuid>,将应用与您创建的快捷批处理相关联。
  6. 运行cf run-task <app> <cmd>以执行任务。

希望对您有所帮助!

相关内容

  • 没有找到相关文章

最新更新