2016-02-04 6 views
1

Я пытаюсь использовать переменную ENV в целевой хозяина параметризовать мой контейнер при запуске его с удаленным API, но ни один из них не работал ...Использование переменного хоста окр с Docker удаленного API

"Env": [ 
     "ENV_VAR=`$TEST`", 
     "ENV_VAR2=$TEST" 
    ], 

У кого-нибудь есть идея, как этого достичь?

+0

Что не работает: $ TEST имеет неправильное значение? Или ENV_VAR не определен вообще? – VonC

+0

ENV_VAR задан, с литерными строками \ '$ TEST \' и $ TEST. – pedro

+0

Какую командную строку вы используете для вызова этого удаленного API? – VonC

ответ

0

Я кормления JSON при отправке на: /containers/create?name=myName -d payload.jsonEnv», находясь в корне полезной нагрузки)

Если $TEST является переменной среды от хозяина, payload.json должен включать его значение, а не $TEST, так как POST не изменит/интерпретирует $TEST (но передайте его буквально).

Если, вместо того чтобы использовать payload.json файл, вы использовали команду с JSON непосредственно в нем, вы можете обернуть JSon часть между двойных кавычки: тогда $TEST будет интерпретатором.
См. "How to include environment variable in bash line CURL?"

+0

Переменная среды должна быть взята с целевого хоста, а не клиент, использующий удаленный API – pedro

+0

@pedro сам удаленный API не похож на оболочку: он ничего не интерпретирует. – VonC

+0

Да, я понимаю это, но, возможно, был способ открыть удаленный докер, чтобы запустить контейнер, используя его host env ..., в любом случае, спасибо за ваше время. – pedro