Dockerfile设置apt-get install tzdata的noninteractive方法
在Ubuntu系统中,执行命令apt-get install -y tzdata以安装tzdata软件包。但是,最近发现,在Ubuntu 18.04 (Bionic Beaver)上无法自动安装该软件包,这里的tzdata版本为2018d-1。
在tzdata 2017的各个版本中(如2017c),安装过程中采用默认的系统时区,所以可以无交互地顺利安装完毕,输出信息如下。
Current default time zone: 'Etc/UTC'
Local time is now: Wed Apr 25 03:38:23 UTC 2018.
Universal Time is now: Wed Apr 25 03:38:23 UTC 2018.
Run 'dpkg-reconfigure tzdata' if you wish to change it.
但是从tzdata 2018版本开始(如2018d),安装过程中默认采用交互式,即要求输入指定的Geographic area和Time zone,从而必须人工值守进行安装,输出信息如下。
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
解决步骤如下:
1. 设置tzdata的前端类型(通过环境变量)
ENV DEBIAN_FRONTEND noninteractive
tzdata的前端类型默认为readline(Shell情况下)或dialog(支持GUI的情况下)。
2. 安装tzdata软件包
apt-get install -y tzdata
此时,采用默认时区Etc/UTC。
3. 建立到期望的时区的链接
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
设置时区为America/New_York。
4. 重新配置tzdata软件包,使得时区设置生效
dpkg-reconfigure -f noninteractive tzdata
参考资料
https://blog.csdn.net/taiyangdao/article/details/80512997
Dockerfile设置apt-get install tzdata的noninteractive方法的更多相关文章
- docker rmi 导致后面的命令不执行问题 Dockerfile设置时区问题
docker rmi 导致后面的命令不执行问题 把ca=`docker rmi sendemail-service` echo $ca改成docker rmi sendemail-service -f ...
- Dockerfile的书写规则和指令的使用方法
Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令.Docker程序将这些Dockerfile指令翻译真正的Linux命 ...
- 设置Ubuntu 14.04右键终端的方法
设置Ubuntu 14.04右键终端的方法如下: 首先要安装一个包,即可在右键里面添加一个"打开终端"的菜单. sudo apt-get install nautilus-open ...
- 安装、设置与启动MySql绿色版的方法
原文:安装.设置与启动MySql绿色版的方法 1.解压 mysql-noinstall-5.1.30-win32.zip(下载地址http://dev.mysql.com/downloads/mysq ...
- MySQL设置当前时间为默认值的方法
方法一.是用alert table语句: 复制代码代码如下: use test_db1; create table test_ta1( id mediumint(8) unsigned not nul ...
- golang github.com/go-sql-driver/mysql 遇到的数据库,设置库设计不合理的解决方法
golang github.com/go-sql-driver/mysql 遇到的数据库,设置库设计不合理的解决方法,查询中报了以下这个错 Scan error on column index 2: ...
- ECshop设置301最快捷最简单的方法
ECshop设置301最快捷最简单的方法 在 init.php中加入以下代码 if (strtolower($_SERVER['SERVER_NAME'])!='www.fz1688.com') { ...
- VirtualBox设置共享文件夹和镜像访问的方法
VirtualBox设置共享文件夹和镜像访问的方法 virtualBox是一款虚拟机软件,可以在该软件上安装各类的操作系统,至于如何安装请参见另外一篇经验<如何使用VirtualBox安装win ...
- 华硕笔记本怎么设置u盘启动(两种方法)
华硕笔记本怎么设置u盘启动(两种方法) 华硕笔记本怎么设置u盘启动.我想用U盘安装系统但是 我不知道如何设置U盘启动,那么该如何设置呢?下面和大家分享一下我的经验,希望能够帮到大家.如果你的系统是预装 ...
随机推荐
- Data Structure Linked List: Write a function to get the intersection point of two Linked Lists.
http://www.geeksforgeeks.org/write-a-function-to-get-the-intersection-point-of-two-linked-lists/ 第一第 ...
- nodejs模块之http&&url
我们使用nodejs中的http模块来进行网络操作 一.什么是HTTP协议: 超文本传输协议(HyperText Transfer Protocol)HTTP假定其下层协议提供可靠传输. 因此,任何能 ...
- 启动Hadoop时DFSZKFailoverController没有启动
在启动Hadoop成功后,并没有报错信息,jps查看进程,发现DFSZKFailoverController没有启动成功,后来发现是因为防火墙的原因,关掉重试就OK了 systemctl stop f ...
- Spark- 数据清洗
输入输出转化工具类 package com.rz.mobile_tag.log import org.apache.spark.sql.Row import org.apache.spark.sql. ...
- java:类集回顾
1.类集设置的主要目的:动态的对象数组 2.类集中有以下几个接口: Collection:是存放单值的最大父接口 |- List接口:里面的内容是允许重复的 |- ArrayList, Vector, ...
- ZSetOperations
有序集合,默认按照score升序排列,存储格式K(1)==V(n),V(1)=S(1)(K=key,V=value,S=score) 1.add(K,V,S):添加 2.count(K,Smin,Sm ...
- 十五 Django框架,缓存
由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5 ...
- 六 Django框架,models.py模块,数据库操作——链表结构,一对多、一对一、多对多
链表操作 链表,就是一张表的外键字段,连接另外一张表的主键字段 一对多 models.ForeignKey()外键字段一对多,值是要外键的表类 from __future__ import unico ...
- 【Educational Codeforces Round 38】D. Buy a Ticket 堆优化Dijkstra
题意 给定一张无向图,对每个点$i\in S$求$\min_{j\in S} {2\times d(i,j)+a_j}$ 考虑多源多汇最短路会超时,换个角度考虑每个$j$,如果$j=i$,那么答案为$ ...
- spring学习-1
spring框架的组件结构图 IOC(Inversion of Control):反转控制,思想是反转资源获取方向,传统的资源查找方向是组件向容器发起请求资源查找,作为回应,容器适时的返回资源,IOC ...