docker 下 alpine 镜像设置时区的有效办法

2017年01月03日 02:31:22

在使用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 8 20:46:18 UTC 2016
/ # 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
(1/1) Installing tzdata (2015g-r0)
Executing busybox-1.24.1-r7.trigger
OK: 8 MiB in 12 packages
/ # cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime
/ # date
Sun May 8 22:46:45 CEST 2016
/ # 

As a side

Alpine Linux 使用简介

Alpine Linux使用简介   目录:   一、Alpine简要介绍 二、Alpine本地安装 三、Alpine在Docker下运行 四、Alpine的配置和使用     4.1网络相关文件  ...
  • CSDN_duomaomao
  • CSDN_duomaomao
  • 2017年07月26日 16:29
  • 6325

Docker容器时区设置及时间同步

今天在系统集成测试时由测试人员提交了一个测试bug,原因是提交业务数据时间与实际时间(北京时间)有偏差,导致统计异常。由于我们集成测试是向测试人员直接提供完整的Docker镜像作为测试环境,原因应该是...
  • javacspring
  • javacspring
  • 2016年12月13日 23:33
  • 7348

Docker系列之(三):Docker微容器Alpine Linux

http://www.cnblogs.com/ee900222/p/docker_3.html 1. 前言 使用Docker创建容器时,基础镜像通常选择Ubuntu或Cento...
  • zdy0_2004
  • zdy0_2004
  • 2016年03月03日 01:39
  • 10013

docker实践入门之四

在前一个实践中,我们演示了如何使用现成的image来运行container供我们使用,这一节我们来试试自己建立image。使用交互方式创建image在第一篇文章里说过,通过对一个container执行...
  • Raptor
  • Raptor
  • 2016年06月02日 23:44
  • 7839

在docker 上使用alpine linux建立简易静态网站

最近实验室的学弟学妹们要展示自己的静态网站作业,想着自己阿里云上还有一台服务器,就准备用docke 给他们做一个展示。参考了一部分dockerfile但是仍然不太好 列出DockerfileFROM...
  • Becivells
  • Becivells
  • 2016年06月07日 00:02
  • 2772

docker(8):使用alpinelinux 构建 golang http 看看能有多小

1,alpine linux 非常小首先 alpine 非常的小,安装上了bash 之后也才 5mb。 golang 不需要其他的依赖,想看看是不是能在 alpine 上面跑呢。 搭建一个gola...
  • freewebsys
  • freewebsys
  • 2016年12月13日 22:37
  • 3145

docker(5):使用alpinelinux 构建python http 项目

1,开始学习构建docker镜像http://study.163.com/course/courseMain.htm?courseId=1273002 课程讲的是使用centos构建。自己也一直使用...
  • freewebsys
  • freewebsys
  • 2016年12月08日 22:13
  • 2391

docker(13):alpinelinux安装jenkins

1,安装jenkinsjenkins是持续构建的利器。非常的好用的工具。 最简单的安装办法直接使用官网的docker镜像就行。 /jenkins/”>https://hub.docker.com/...
  • freewebsys
  • freewebsys
  • 2016年12月22日 21:04
  • 1725

Docker计划将镜像迁移至Alpine Linux平台,简化容器运行环境

不知道大家最近有没有留意到一个小道消息,据说Docker官方计划将存储Docker镜像的主机从Ubuntu操作系统换成轻量级的Alpine Linux。...
  • xinxinyunli
  • xinxinyunli
  • 2016年04月28日 10:30
  • 766

如何创建一个安全的Docker基础镜像

http://geek.csdn.net/news/detail/61634 背景 我最初使用Docker的时候,每个人都在说它用起来有多简单方便,它内部的机制是有多么好,...
  • ztguang
  • ztguang
  • 2016年02月01日 00:00
  • 538
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:docker 下 alpine 镜像设置时区的有效办法
举报原因:
原因补充:

(最多只允许输入30个字)