Docker сочинять ¿кешировать? переменные env - PullRequest
0 голосов
/ 14 апреля 2020

Я испытываю очень странное поведение с docker -композицией. У меня есть репозиторий, настроенный для работы с docker swarm для производства и docker-compose для разработки. Swarm работает нормально на производстве, но docker-compose ведет себя странно.

В частности, я определяю аргументы сборки с подстановкой параметров, как это

build:
  context: .
  args:
    - APP_DIRECTORY=${APP_DIRECTORY:-/srv/app}
    - APP_ENV=${APP_ENV:-dev}

Когда APP_ENV не определено или пусто, должно принимать значение dev. Это работало нормально, но теперь принимает значение prod, когда переменная не определена. Я перезагрузил компьютер, очистил все переменные окружения, даже удалил docker-compose и снова установил его, а APP_ENV все еще получает prod. Есть ли какое-то кеширование, выполняемое при помощи compose, о котором я не знаю?

Еще одно странное поведение заключается в том, что docker-compose передает связанные с прокси переменные окружения в контейнер. Эти переменные не указаны в файле compose, и их даже нет на хосте. Опять же, происходит ли какое-то простое кэширование? И почему docker-compose передает переменные env, которые я не просил, в контейнер?

1 Ответ

0 голосов
/ 20 апреля 2020

Я сделал глупую ошибку, у меня был файл .env в том же каталоге, и docker-compose считывал переменные из файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...