我想在具有Ubuntu 16.04映像的docker环境中安装certbot:
例如:
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:
奇怪的是,它在我添加ppa之前安装tzdata
时有效:
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
问题:强>
- 为什么我在添加ppa之前或之后安装
tzdata
会有所不同? - 安装certbot时是否有更好的方法来避免交互式对话框?
作者:,Philipp Claßen
最佳答案
要在没有交互式对话的情况下运行dpkg
(在Apt之类的其他工具之后),您可以将一个环境变量设置为
DEBIAN_FRONTEND=noninteractive