Saya telah mengatur lingkungan berikut ini sehingga tidak ada pertanyaan / dialog yang diminta selama instalasi apt-get:
ENV DEBIAN_FRONTEND noninteractive # export DEBIAN_FRONTEND="noninteractive"
Yang setara dengan:
export DEBIAN_FRONTEND="noninteractive"
Namun, ketika membangun gambar dari Dockerfile, di akhir satu paket Debian / Ubuntu tertentu menginstal (menggunakan apt-get install), konfigurasi paket debconf mengatakan:
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 ... saya menemukan kesalahan saya. Tidak ada cara untuk memberikan komentar di baris ENV di Dockerfile. Saya akan menjawab sendiri karena saya yakin ini akan menggigit beberapa orang lain ...
Oke, sumber masalahnya adalah: Anda tidak dapat menggunakan # untuk memberi komentar pada baris ENV di Dockerfiles karena tidak ada pembatas untuk mengatakan "end of env variable", semua yang ada setelah nama variabel dan spasi segera setelahnya akan berada di variabel.
yaitu dengan garis Dockerfile:
Variabel:
akan berisi persis seluruh baris ini:
dan setara dengan melakukan:
Saya hampir membatalkan pertanyaan saya, tetapi dengan mesin pencari dan Stack Exchange, beberapa orang mungkin akan menemukan kesalahan mereka di sini suatu hari nanti ;-)
sumber
ENV
untukDEBIAN_FRONTEND
, lihat: github.com/docker/docker/issues/4032