Избегание взаимодействия пользователя с tzdata при установке certbot в контейнере докера

Я хочу установить certbot в среде docker с образцом 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? Есть ли лучший способ избежать интерактивного диалога при установке certbot?
31
задан 27 April 2017 в 02:21

12 ответов

Чтобы запустить dpkg (за другими инструментами вроде Apt) без интерактивного диалога, вы можете установить одну переменную среды как

DEBIAN_FRONTEND=noninteractive
3
ответ дан 22 May 2018 в 23:11
  • 1
    Редактированный ответ работает, комментарий @ DavidFoerster относится к его предыдущей версии. – Rafał G. 17 March 2018 в 15:37
  • 2
    Примечание: sudo не пропускает переменные среды в большинстве случаев, поэтому sudo DEBIAN_FRONTEND=noninteractive sudo apt-get install -y tzdata работает, но DEBIAN_FRONTEND=noninteractive sudo apt-get install -y tzdata этого не делает. – Brendan Long 21 March 2018 в 04:00

Чтобы запустить dpkg (за другими инструментами вроде Apt) без интерактивного диалога, вы можете установить одну переменную среды как

DEBIAN_FRONTEND=noninteractive
7
ответ дан 18 July 2018 в 14:12

Чтобы запустить dpkg (за другими инструментами вроде Apt) без интерактивного диалога, вы можете установить одну переменную среды как

DEBIAN_FRONTEND=noninteractive
8
ответ дан 24 July 2018 в 20:21

Чтобы запустить dpkg (за другими инструментами вроде Apt) без интерактивного диалога, вы можете установить одну переменную среды как

DEBIAN_FRONTEND=noninteractive
9
ответ дан 31 July 2018 в 10:45

Чтобы запустить dpkg (за другими инструментами вроде Apt) без интерактивного диалога, вы можете установить одну переменную среды как

DEBIAN_FRONTEND=noninteractive
9
ответ дан 31 July 2018 в 11:50

Чтобы запустить dpkg (за другими инструментами вроде Apt) без интерактивного диалога, вы можете установить одну переменную среды как

DEBIAN_FRONTEND=noninteractive
9
ответ дан 31 July 2018 в 23:23

Чтобы запустить dpkg (за другими инструментами вроде Apt) без интерактивного диалога, вы можете установить одну переменную среды как

DEBIAN_FRONTEND=noninteractive
9
ответ дан 2 August 2018 в 18:20

Чтобы запустить dpkg (за другими инструментами вроде Apt) без интерактивного диалога, вы можете установить одну переменную среды как

DEBIAN_FRONTEND=noninteractive
9
ответ дан 3 August 2018 в 20:40

Чтобы запустить dpkg (за другими инструментами вроде Apt) без интерактивного диалога, вы можете установить одну переменную среды как

DEBIAN_FRONTEND=noninteractive
9
ответ дан 5 August 2018 в 05:21

Чтобы запустить dpkg (за другими инструментами вроде Apt) без интерактивного диалога, вы можете установить одну переменную среды как

DEBIAN_FRONTEND=noninteractive
9
ответ дан 6 August 2018 в 22:27

Чтобы запустить dpkg (за другими инструментами вроде Apt) без интерактивного диалога, вы можете установить одну переменную среды как

DEBIAN_FRONTEND=noninteractive
9
ответ дан 9 August 2018 в 02:53

Чтобы запустить dpkg (за другими инструментами вроде Apt) без интерактивного диалога, вы можете установить одну переменную среды как

DEBIAN_FRONTEND=noninteractive
10
ответ дан 14 August 2018 в 21:08
  • 1
    Редактированный ответ работает, комментарий @ DavidFoerster относится к его предыдущей версии. – Rafał G. 17 March 2018 в 15:37
  • 2
    Примечание: sudo не пропускает переменные среды в большинстве случаев, поэтому sudo DEBIAN_FRONTEND=noninteractive sudo apt-get install -y tzdata работает, но DEBIAN_FRONTEND=noninteractive sudo apt-get install -y tzdata этого не делает. – Brendan Long 21 March 2018 в 04:00

Другие вопросы по тегам:

Похожие вопросы: