我为我的PHP应用程序编写了一个Dockerfile,而不是从dockerhub而是从头开始创建它。
例如:
FROM ubuntu:18.04
RUN apt-get update && \
apt-get install -y --no-install-recommends apt-utils && \
apt-get -y install sudo
RUN sudo apt-get install apache2 -y
RUN sudo apt-get install mysql-server -y
RUN sudo apt-get install php libapache2-mod-php -y
RUN rm -rf /var/www/html/
COPY . /var/www/html/
WORKDIR /var/www/html/
EXPOSE 80
RUN chmod -R 777 /var/www/html/app/tmp/
CMD systemctl restart apache2
在此步骤:
RUN sudo apt-get install php libapache2-mod-php -y
我被卡住了,因为它要求用户输入,例如:
请选择您居住的地理区域。后续配置 问题将通过列出代表的城市列表来缩小范围 它们所在的时区。
我无法前进,我这样尝试过:
RUN sudo apt-get install php libapache2-mod-php -y 9
但没有结果,请帮助
答案 0 :(得分:1)
您可以在DEBIAN_FRONTEND=noninteractive
之前的Dockerfile中设置环境变量DEBCONF_NONINTERACTIVE_SEEN=true
和RUN sudo apt-get install php libapache2-mod-php -y
。
您的Dockerfile应该如下所示:
FROM ubuntu:18.04
RUN apt-get update && \
apt-get install -y --no-install-recommends apt-utils && \
apt-get -y install sudo
RUN sudo apt-get install apache2 -y
RUN sudo apt-get install mysql-server -y
## for apt to be noninteractive
ENV DEBIAN_FRONTEND noninteractive
ENV DEBCONF_NONINTERACTIVE_SEEN true
## preesed tzdata, update package index, upgrade packages and install needed software
RUN echo "tzdata tzdata/Areas select Europe" > /tmp/preseed.txt; \
echo "tzdata tzdata/Zones/Europe select Berlin" >> /tmp/preseed.txt; \
debconf-set-selections /tmp/preseed.txt && \
apt-get update && \
apt-get install -y tzdata
RUN sudo apt-get install php libapache2-mod-php -y
RUN rm -rf /var/www/html/
COPY . /var/www/html/
WORKDIR /var/www/html/
EXPOSE 80
RUN chmod -R 777 /var/www/html/app/tmp/
CMD systemctl restart apache2
您应根据自己的意愿更改Europe
和Berlin
。
答案 1 :(得分:0)
您可以尝试一下(多个提示)
apt-get install x y