Я установил следующую среду, чтобы во время установки apt-get не задавался вопрос / диалог:
ENV DEBIAN_FRONTEND noninteractive # export DEBIAN_FRONTEND="noninteractive"
Что эквивалентно:
export DEBIAN_FRONTEND="noninteractive"
Тем не менее, при создании образа из Dockerfile, в конце одной конкретной установки пакета Debian / Ubuntu (с использованием установки apt-get), debconf конфигурации пакета говорит:
debconf: unable to initialize frontend: Noninteractive # export DEBIAN_FRONTEND="noninteractive"
debconf: (Bareword "Debconf::FrontEnd::Noninteractive" not allowed while "strict subs" in use at (eval 35) line 3, <> line 1.)
debconf: falling back to frontend: Noninteractive
Subroutine BEGIN redefined at (eval 36) line 2, <> line 1.
Вау ... Я нашел свою ошибку. Нет никакого способа поместить комментарий в строки ENV в Dockerfile. Я собираюсь ответить самому себе, поскольку я уверен, что это укусит некоторых других людей ...
Хорошо, источник проблемы заключался в следующем: вы не можете использовать # для добавления комментариев к строкам ENV в Dockerfiles, потому что нет разделителя, чтобы сказать «конец переменной env», все, что находится после имени переменной, и пространство сразу после того, как будет в переменная.
то есть с помощью строки Dockerfile:
Переменная:
будет содержать именно эту строку:
и эквивалентно выполнению:
Я почти отменял свой вопрос, но с помощью поисковых систем и Stack Exchange некоторые люди, возможно, когда-нибудь найдут здесь свою ошибку ;-)
источник
ENV
дляDEBIAN_FRONTEND
, см .: github.com/docker/docker/issues/4032