Docker 镜像,基于 alpine 系统的时区配置

栏目: 编程工具 · 发布时间: 7年前

内容简介:在 Java 开发中使用 Docker 镜像时,由于 alpine 提供的 linux 环境的镜像特别的小,只有 5M 左右,集成 openjdk 后的大小也在 100M 以内,因此应用非常广泛,在 Docker Hub 有大量基于 alpine 的镜像。但是所有基于 alpine 的镜像使用的都是默认时区,因此在使用时,要对时区进行修改。首先可以进入 alpine 的镜像(默认

Java 开发中使用 Docker 镜像时,由于 alpine 提供的 linux 环境的镜像特别的小,只有 5M 左右,集成 openjdk 后的大小也在 100M 以内,因此应用非常广泛,在 Docker Hub 有大量基于 alpine 的镜像。

但是所有基于 alpine 的镜像使用的都是默认时区,因此在使用时,要对时区进行修改。

时区地图

查看日期

首先可以进入 alpine 的镜像(默认 /bin/sh )查看日期:

[root@k8s-master openjdk8]# docker run -i -t --rm alpine:3.9
/ # date -R
Thu, 14 Feb 2019 05:59:48 +0000

修改日期

参考: https://wiki.alpinelinux.org/wiki/Setting_the_timezone

先在容器按照上述参考文档,修改查看是否有效。

在前面进入的容器中,按顺序执行下面的命令:

# 安装时区设置
apk add tzdata
# 复制上海时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 指定为上海时区
echo "Asia/Shanghai" > /etc/timezone
# 验证
date -R
# 输出,和当前时间对比
Thu, 14 Feb 2019 14:01:02 +0800
# 删除其他时区配置,节省空间
apk del tzdata

通过实验发现该方法可行,下面针对镜像(而不是镜像实例)进行修改。

FROM alpine:3.9

# 设置时区为上海
RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone \
    && apk del tzdata
    
CMD ["/bin/sh"]

保存为 Dockerfile 文件,在 Dockerfile 目录执行命令构建镜像:

docker build -t alpine-sh:3.9 .

通过上述方式创建后的镜像仍然很少,而且是符合需要的时区。

基于 alpine 的其他镜像的修改

例如 openjdk:8u191-jre-alpine3.9 是一个基于 alpine 的镜像。

openjdk:8u191-jre-alpine3.9 镜像中的时区也存在问题。

修改方式一

下载上面提供的 Dockerfile,稍作修改即可实现时区的定制:

# 使用前面刚刚创建的 alpine-sh:3.9 即可修改时区
FROM alpine-sh:3.9

# 其他不变,全部省略

修改方式二

或者参考前面 alpine 的修改:

FROM openjdk:8u191-jre-alpine3.9

# 设置时区为上海
RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone \
    && apk del tzdata
    
CMD ["/bin/sh"]

所有基于 alpine 的镜像都可以采用类似的方法进行修改。


以上所述就是小编给大家介绍的《Docker 镜像,基于 alpine 系统的时区配置》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

奔跑吧,程序员

奔跑吧,程序员

[美]叶夫根尼·布里克曼(Yevgeniy Brikman) / 吴晓嘉 / 人民邮电出版社 / 2018-7 / 99.00元

本书以软件工程师出身的创业者的角度,全面介绍了创业公司该如何打造产品、实现技术和建立团队,既是为创业者打造的一份实用入门指南,又适合所有程序员系统认识IT行业。书中内容分为三部分——技术、产品和团队,详细描绘创业的原始景象,具体内容包括:创业点子、产品设计、数据与营销、技术栈的选择、整洁的代码、软件交付、创业文化、招兵买马,等等。一起来看看 《奔跑吧,程序员》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具