Ustawiłem następujące środowisko, aby żadne pytanie / okno dialogowe nie było zadawane podczas instalacji apt-get:
ENV DEBIAN_FRONTEND noninteractive # export DEBIAN_FRONTEND="noninteractive"
Co odpowiada:
export DEBIAN_FRONTEND="noninteractive"
Jednak podczas budowania obrazu z pliku Docker na końcu jednej konkretnej instalacji pakietu Debian / Ubuntu (przy użyciu instalacji apt-get) debconf konfiguracji pakietu mówi:
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.
Wow ... Znalazłem swój błąd. Nie ma możliwości umieszczenia komentarza w wierszach ENV w Dockerfile. Odpowiem sobie, bo jestem pewien, że ugryzie to innych ludzi ...
Ok, źródłem problemu był: nie można użyć #, aby wstawić komentarze do linii ENV w Dockerfiles, ponieważ nie ma ogranicznika, który mógłby powiedzieć „koniec zmiennej env”, wszystko, co jest po nazwie zmiennej i spacja bezpośrednio po niej, będzie w zmienna.
tj. z linią Dockerfile:
Zmienna:
będzie zawierać dokładnie całą linię:
i jest równoważne z robieniem:
Prawie anulowałem moje pytanie, ale dzięki wyszukiwarkom i Stack Exchange niektóre osoby prawdopodobnie kiedyś znajdą tu swój błąd ;-)
źródło
ENV
naDEBIAN_FRONTEND
stronie: github.com/docker/docker/issues/4032