在 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

修改日期

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

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

# 安装时区设置

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 的镜像都可以采用类似的方法进行修改。

alpine linux时区,Docker 镜像,基于 alpine 系统的时区配置相关推荐

  1. linux里docker镜像mysql运行sql脚本时出现Failed to open file ‘/home/mydatabase.sql‘, error: 2的解决

    linux里docker镜像mysql运行sql脚本时出现Failed to open file '/home/mydatabase.sql', error: 2的解决 此文章的前提是已经把sql文件 ...

  2. Docker镜像仓库Harbor之搭建及配置

    Docker镜像仓库Harbor之搭建及配置 1.Harbor 介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署 ...

  3. 构建haproxy镜像(基于alpine系统)

    拉取alpine系统镜像 [root@localhost ~]# docker pull alpine Using default tag: latest latest: Pulling from l ...

  4. docker制作nginx+nginx-module-vts镜像基于alpine镜像

    本文参考配置https://github.com/Parli/nginx-vts-docker 稍作修改 搜索到的docker镜像nginx版本比较低,为1.11,1.13,这里用的nginx版本为1 ...

  5. 上传iso文件至linux主机,Docker 镜像文件的上传

    制作一个去镜像,然后把它上传到hub.docker.com上去 (1)登入到以下网址,注册一个帐户名称 (2)在Docker主机上进行登陆 [root@c720120 docker]# docker ...

  6. alpine linux安装ftp,如何在Alpine Linux上安装GLPK?

    在Alpine Linux上安装swiglpk包失败,并出现以下跟踪:Collecting swiglpk>=1.2.14; extra == "all" (from cam ...

  7. linux重启docker镜像都没了,linux – 没有响应的Docker命令挂起

    Docker守护程序运行正常,但是当我执行docker镜像,docker ps等时,docker只是无限期挂起而没有输出.这种情况昨晚没有发生,这让我疯狂. 我在我的AWS Linux AMI上重新安 ...

  8. 嵌入式linux作为hid设备,基于嵌入式系统的USB(HID)设备

    基于嵌入式系统的USB(HID)设备 目前嵌入式系统在数字化电子产品领域应用越来越广泛.随着其成本的降低,大有取代单片机的趋势. USB设备以其小巧.便携.即插即用.成本低廉等优势在当前的桌面应用中有 ...

  9. docker镜像仓库habor1.10.0安装配置-单机版

    habor1.10.0安装配置 前言 一.安装docker 二.harbor安装与简单配置 1. 下载指定版本harbor 2. harbor简单配置 三.配置harbor前面的nginx 1. 添加 ...

最新文章

  1. [***]HZOJ 优美序列
  2. GUI实战|Python做一个文档图片提取软件
  3. Python和单元测试那些事儿
  4. Nacos分布式应用配置管理
  5. Android RecyclerView和ScrollView嵌套使用
  6. 打通钉钉+WebHook:日志服务告警升级
  7. pdf裁边app_哪款手机PDF阅读APP值得推荐?
  8. win10右击菜单在左边
  9. 作为程序员,制霸了 Stack Overflow 是一种怎样的体验?
  10. 安装项目管理工具 SVN+Redmine
  11. 10个新鲜出炉的JQuery插件(ITEye)
  12. 分析目录读取目录内容
  13. zen3 服务器芯片,AMD EPYC霄龙服务器处理器亮相,Zen3架构性能飙升
  14. 能完成加减乘除以及开根号的Java计算器
  15. win10系统如何设置win11开机音效的方法
  16. python 排列组合函数_python排列组合
  17. 共模信号与差模信号(差分信号)
  18. MySQL慢查询,一口从天而降的锅!
  19. SQL中日期时间使用函数
  20. c语言 error c2001,error C2001: 常量中有换行符解决方案

热门文章

  1. 计算机高特效吃鸡游戏主机配置单,玩游戏的电脑配置推荐 2018年4套intel第八代平台吃鸡主机配置推荐...
  2. python发送短信每天有限额吗_发送短信次数上限
  3. 【PCB工程师必备】3D元件封装库
  4. 如何在Linux中将目录添加到$ PATH
  5. 黄金 - 石油比率的历史:1970-2018
  6. 通达OA CMS后台任意用户登录漏洞复现
  7. 永磁同步电机控制之反馈解耦及复矢量解耦(无刷直流电机等交流电机同样适用)
  8. [bzoj1191][二分图匹配]超级英雄Hero
  9. [深度学习] loss=inf
  10. 纯干货!程序员面试的超实用技巧