docker 下 alpine 镜像设置时区的有效办法
在使用Docker的时候,由于很多基础linux镜像都比较大,alpine这个仅仅几兆的linux基础镜像受到了很多人喜欢,笔者也不例外,可是由于alpine中的一些配置及命令与常见的centos等系统在一些方面不一样,下面来看看时区问题是如何解决的:
原因:alpine中,原生是不带时区相关的命令及文件的,需要安装额外的包来支持,然后需要将时区文件内容替换为localtime文件
解决办法
建议打造自己的alpine基础镜像,如下是我的alpine的Dockerfile:
FROM alpine:3.4
MAINTAINER firewarm LightingLiu <liuyg@liuyingguang.cn> # Install root filesystem
ADD ./rootfs / # Install base packages
RUN apk update && apk add curl bash tree tzdata \
&& cp -r -f /usr/share/zoneinfo/Hongkong /etc/localtime \
&& echo -ne "Alpine Linux 3.4 image. (`uname -rsv`)\n" >> /root/.built
# Define bash as default command
CMD ["/bin/bash"]
当这个镜像完成以后,不需要配置任何环境变量即可使用京八区的时区及时间
参考文章
https://bugs.alpinelinux.org/issues/5543
参考的源代码
docker run -it --rm alpine /bin/sh
/ # date
Sun May :: UTC
/ # apk add -U tzdata
fetch http://dl-cdn.alpinelinux.org/alpine/v3.3/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.3/community/x86_64/APKINDEX.tar.gz
(/) Installing tzdata (2015g-r0)
Executing busybox-1.24.-r7.trigger
OK: MiB in packages
/ # cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime
/ # date
Sun May :: CEST
/ #
docker 下 alpine 镜像设置时区的有效办法的更多相关文章
- 删除docker下的镜像
先显示一下docker中的镜像 删除镜像 先停止这个容器 删除容器 再删除镜像就可以啦!
- docker下debian镜像开启ssh, 允许root用密码登录
用的官方python镜像做开发, 暴露端口, 用pycharm ssh进去开发. 忽然发现本来ssh能连上, 但是更了新的python镜像连不上了. 有折腾了一下, 连上了. 主要是python官网镜 ...
- docker下MySQL镜像的使用方法
预习: 使用到的docker命令: docker images 显示本地有的镜像 docker pull +镜像名称 从docker hub上面拉取镜像 docker run --nam ...
- 2.docker下centos镜像
1.下载并运行 # 交互模式下载并运行centos容器 $ docker run -it centos:latest /bin/bash 1.1 配置centos的环境别名 $ vi /etc/bas ...
- Docker之Alpine制作jre镜像(瘦身)+自定义镜像上传阿里云
alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBo ...
- 【URLOS开发入门】docker官方系统镜像——Alpine入门教程
我们在进行URLOS应用开发时,经常会用到一些基础系统镜像,如:ubuntu.CentOS.Debian等,我们可以通过docker pull命令直接拉取官方镜像. root@ubuntu:~# do ...
- 一个带bash,带glibc,中国时区,非root用户可运行crond命令的基于alpine镜像的Dockerfile
这个镜像现在说起来简单, 带bash(增加执行脚本的兼容性,带GLIBC,中国时区,非root用户可运行crond命令-安全) 但让我开始陷入时,真的让我有段时间有点爆了. 比如,将filebeat文 ...
- Docker之Alpine制作镜像且上传至阿里云
目的: Alpine制作jdk镜像 Alpine制作jre镜像(瘦身) Docker镜像上传至阿里云 Alpine制作jdk镜像 alpine Linux简介 Alpine Linux是一个轻型Lin ...
- Dockerfile设置时区alpine
背景: 最近在写golang相关代码.其中用到了时间操作的相关函数,如下: nowTime := time.Now() nUnixEndTime := nowTime.Unix() nHour, nM ...
随机推荐
- dell 1464 升级固态硬盘ssd 记录
2010年买的Dell 1464(i5 M430)用了4年多,感觉这款机器各方面性能还不错,决定给它升升级.目前笔记本最大的瓶颈应该出在机械硬盘的速度上,于是撑着双十一促销之际买了一块PLEXTOR/ ...
- DTO的一些理解(转载)
1.什么是DTO DTO(Data Tansfer Object)即数据传输对象.之前不明白有些框架中为什么要专门定义DTO来绑定表现层中的数据,为什么不能直接用实体模型呢,有了DTO同时还要维护DT ...
- nose的setup和teardown
参考:http://blog.csdn.net/linda1000/article/details/8533349 1.模块的setUp和tearDown def setUp(): print &qu ...
- flume学习(三):flume将log4j日志数据写入到hdfs(转)
原文链接:flume学习(三):flume将log4j日志数据写入到hdfs 在第一篇文章中我们是将log4j的日志输出到了agent的日志文件当中.配置文件如下: tier1.sources=sou ...
- Centos 7 配置 VNCServer 經驗
安裝 Centos 7後, 習慣性的安裝 Xmanager 3或4, 都不能正常工作, 無奈之下開始安裝 VNCServer. (個人習慣使用Xmanager, 因為不需要安裝,只要配置一下就能用, ...
- 使用百度地图API实现轨迹回放
调用百度地图API实现路线的轨迹回放功能其实很简单,只要搞懂以下几点即可: 1.需要用Polyline方法先绘制好路线图 2.用Marker添加标注点 3.关键一步,通过结合定时器,使用Marker创 ...
- es修改索引副本个数
es修改索引副本个数 PUT index01/_settings { "number_of_replicas": 2 }
- Java开发新手经常遇到的一些问题
A:java.lang.UnsupportedClassVersionError: Bad version number in .class file 解答:导致此问题的原因是Tomcat运行的JDK ...
- 性能调优的Windows窗体DataGridView控件
性能调优的Windows窗体DataGridView控件 . 净框架4.5 在处理大量数据时, DataGridView 控制可以消耗大量的内存开销,除非你仔细地使用它. 在客户有限的内存,你 ...
- notepad++列模式
考虑下面的情况: 已有 AAA BBB CCC 和 aaa bbb ccc 想合并为 AAA aaa BBB bbb CCC ccc 在大写后面,列模式,复制小写,粘贴,结果不是如下: AAA aaa ...