He configurado el siguiente entorno para que no se haga ninguna pregunta / diálogo durante la instalación de apt-get:
ENV DEBIAN_FRONTEND noninteractive # export DEBIAN_FRONTEND="noninteractive"
Lo que es equivalente a:
export DEBIAN_FRONTEND="noninteractive"
Sin embargo, al construir una imagen desde un Dockerfile, al final de una instalación específica del paquete Debian / Ubuntu (usando apt-get install), la configuración del paquete debconf dice:
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 ... encontré mi error. No hay forma de poner comentarios en líneas ENV en Dockerfile. Voy a responderme a mí mismo ya que estoy seguro de que esto morderá a otras personas ...
Ok, la fuente del problema fue: no se puede usar # para poner comentarios en las líneas ENV en Dockerfiles porque no hay un delimitador para decir "fin de la variable env", todo lo que está después del nombre de la variable y el espacio inmediatamente después estará en el variable.
es decir, con la línea Dockerfile:
La variable:
contendrá exactamente esta línea completa:
y es equivalente a hacer:
Casi estaba cancelando mi pregunta, pero con los motores de búsqueda y Stack Exchange, algunas personas probablemente encontrarán su error aquí algún día ;-)
fuente
ENV
paraDEBIAN_FRONTEND
ver: github.com/docker/docker/issues/4032