Создайте задачу cloudfoundry, используя частный образ докера репо - PullRequest
0 голосов
/ 01 июня 2018

У нас есть требование развернуть образ Docker частного репозитория как задачу cloudfoundry, а затем вызвать ее из приложения весенней загрузки cloudfoundry javabuildpack.

Я придерживаюсь этого подхода, - я попытался создать идентификатор капли для образа докера, - а затем вызвать каплю с помощью API задачи cf v3.

Шаги кода:

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 Ответ

0 голосов
/ 03 июня 2018

Мое предложение было бы сделать это :

  1. Нажмите ваше приложение.Даже если он не запустится успешно, потому что он задуман как задание, просто нажмите его и после завершения подготовки вы можете запустить cf stop.
  2. Затем просто cf run-task APP-NAME "TASK" --name TASK-NAME.

Я думаю, что это будет самый простой и прямой вариант.Если по какой-то причине это не сработает, попробуйте следующее.API v3 не является стабильным, поэтому это может изменить / прервать / прекратить работу в будущем.

  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> для выполнения вашей задачи.

Надеюсь, это поможет!

...