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

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

内容简介:在 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 系统的时区配置》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

最优化理论与算法

最优化理论与算法

陈宝林 / 清华大学出版社 / 2005-10-1 / 46.00元

最优化理论与算法(第2版),ISBN:9787302113768,作者:陈宝林 编著一起来看看 《最优化理论与算法》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器