J'ai défini l'environnement suivant afin qu'aucune question / boîte de dialogue ne soit posée pendant l'installation d'apt-get:
ENV DEBIAN_FRONTEND noninteractive # export DEBIAN_FRONTEND="noninteractive"
Ce qui équivaut à:
export DEBIAN_FRONTEND="noninteractive"
Pourtant, lors de la construction d'une image à partir d'un Dockerfile, à la fin d'une installation de paquet Debian / Ubuntu spécifique (en utilisant l'installation apt-get), la configuration du paquet debconf dit:
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 ... J'ai trouvé mon erreur. Il n'y a aucun moyen de mettre un commentaire dans les lignes ENV dans Dockerfile. Je vais me répondre car je suis sûr que cela mordra d'autres personnes ...
Ok, la source du problème était: vous ne pouvez pas utiliser # pour mettre des commentaires sur les lignes ENV dans Dockerfiles car il n'y a pas de délimiteur pour dire "fin de la variable env", tout ce qui se trouve après le nom de la variable et l'espace immédiatement après va être dans le variable.
c'est-à-dire avec la ligne Dockerfile:
La variable:
contiendra exactement toute cette ligne:
et équivaut à faire:
J'étais sur le point d'annuler ma question, mais avec les moteurs de recherche et Stack Exchange, certaines personnes trouveront probablement leur erreur ici un jour ;-)
la source
ENV
pourDEBIAN_FRONTEND
, voir: github.com/docker/docker/issues/4032