I have the following docker file, and I am using the command docker build -t demo:v1 .
to build the image.
FROM ubuntu:18.04
WORKDIR /app
RUN apt update
&& apt -y upgrade
&& apt install -y python3
&& apt install -y python3-pip
&& apt install -y poppler-utils
&& apt install -y libsm6 libxext6 libxrender-dev
RUN apt install -y postgresql
COPY requirements.txt /app/requirements.txt
RUN pip3 install -r requirements.txt
COPY . /app
CMD gunicorn -t 300 --workers 5 --bind 0.0.0.0:8080 wsgi
When I build an image using this, while installing postgresql, it expects input and stops the building process like this
.
.
.
.
Setting up libpopt0:amd64 (1.16-11) ...
Setting up tzdata (2019c-0ubuntu0.18.04) ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
Configuring tzdata
------------------
Please select the geographic area in which you live. Subsequent configuration
questions will narrow this down by presenting a list of cities, representing
the time zones in which they are located.
1. Africa 4. Australia 7. Atlantic 10. Pacific 13. Etc
2. America 5. Arctic 8. Europe 11. SystemV
3. Antarctica 6. Asia 9. Indian 12. US
Geographic area:
So, how can I setup postgresql inside my image, so that it builds without expecting this input? Also, surprisingly, even after I input my option, nothing happens further, and the process gets stuck.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…