Как использовать внешний JSON-файл в Wget HTTP PUT при использовании переменных среды Docker? - PullRequest
0 голосов
/ 23 апреля 2019

Текущая ситуация:

  1. Dockerfile, основанный на образе Ubuntu, устанавливает Wget и объявляет, что bashscript будет запускаться при запуске контейнера.
  2. Контейнер Docker запускается на основе образа с необходимыми переменными среды в команде.Эти переменные будут использоваться внутри команды Wget в bashscript.

    docker run -i -e ‘ENV_VARIABLE=VALUE’ [imagename]
    
  3. Контейнер выполняет bashscript, содержащий WUT HTTP PUT:

    wget --method=PUT --body-data=”{\“key\”:\”${ENV_VARIABLE}\”}” ……
    

Желаемая ситуация:

Текущая ситуация работает, но я не предпочитаю это решение.Это из-за экранирования (\ »), которое я должен использовать.

Я попытался решить эту проблему путем построения --body-data, как показано ниже, с окружающими одинарными кавычками.

‘{“key”:”${ENV_VARIABLE}”}’  

Однако это не будет устанавливать ENV_VARIABLE, поскольку полезная нагрузка теперь является полной строкой.

Более предпочтительным решением было бы отделить JSON от JSON-файла, на который я могу сослаться в вызове Wget.Возникают следующие вопросы:

  1. Как обратиться к JSON-файлу?Мое лучшее предположение - сначала скопировать файл сборки изображения в изображение, а затем сослаться на него по пути в вызове Wget, но опять же, как мне к нему обратиться?
  2. Если приведенная выше точка верна, смогу ли я ссылаться на переменные среды Docker?
...