Я хочу установить certbot в среде докера с изображением Ubuntu 16.04:
Например:
docker run -it ubuntu:16.04 /bin/bash
Когда я в контейнере, самый простой способ установить certbot не работает, поскольку он требует вмешательства пользователя:
apt-get update && \
apt-get install -y software-properties-common && \
add-apt-repository -y -u ppa:certbot/certbot && \
apt-get install -y certbot
Проблема tzdata
, который останавливается с этим интерактивным диалоговым окном:
Extracting templates from packages: 100%
Preconfiguring packages ...
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:
Странно достаточно это работает, когда я устанавливаю tzdata
прежде, чем добавить ppa:
apt-get update && \
apt-get install -y tzdata && \
apt-get install -y software-properties-common && \
add-apt-repository -y -u ppa:certbot/certbot && \
apt-get install -y certbot
Вопросы:
tzdata
прежде или после добавления ppa?Работать dpkg
(позади других инструментов как Кв.) без интерактивного диалога можно установить одну переменную среды как
DEBIAN_FRONTEND=noninteractive
Например, можно установить его в Dockerfile с помощью АРГУМЕНТА:
ARG DEBIAN_FRONTEND=noninteractive
На Ubuntu 18.04 я сделал тот Dockerfile:
ENV TZ=Europe/Minsk
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt update && apt instal....
TL&DR: В Вашем DockerFile
ENV DEBIAN_FRONTEND=noninteractive
Причина:
Определенные Установщики делают 'установки' легче при наличии хорошего фронтенда. В то время как здорово, когда у Вас есть ручная установка, это становится проблемой во время автоматических установок.
Вы можете по поездке интерактивная установка путем размещения следующего в строку среды.
Удачи
Можно установить DEBIAN_FRONTEND=noninteractive
перед Вашей командой для предотвращения ENV DEBIAN_FRONTEND=noninteractive
команды влияния после или дочернее изображение:
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
tzdata \
&& rm -rf /var/lib/apt/lists/*