docker openjdk:8-jdk-alpine 时区问题
使用openjdk:8-jdk-alpine镜像部署java应用时会出现时区不一致的问题。自己封装一个镜像,解决时区问题,并供之后使用。拉取openjdk:8-jdk-alpine 镜像[root@VM-0-9-centos ~]# docker pull openjdk:8-jdk-alpine运行并进入容器[root@VM-0-9-centos ~]# docker run -itd --na
使用openjdk:8-jdk-alpine
镜像部署java应用时会出现时区不一致的问题。
自己封装一个镜像,解决时区问题,并供之后使用。
拉取 openjdk:8-jdk-alpine 镜像
[root@VM-0-9-centos ~]# docker pull openjdk:8-jdk-alpine
运行并进入容器
[root@VM-0-9-centos ~]# docker run -itd --name openjdk8-win openjdk:8-jdk-alpine
[root@VM-0-9-centos ~]# docker exec -it openjdk8-tz sh
增加安装 tzdata 包。
Time Zone Database,简称tz或tzinfo,是一组表示地球上各地的时间历史的代码和数据,目前由IANA维护。
IANA会根据各地政体的变化而定期更新关于时区边界、UTC和夏令时等的规则。
而tzdata是Time Zone Database发布的组件之一,其他还有tzcode等。
tzdata软件包,全称time zone and daylight-saving time(DST) data,供各个Linux系统安装以读取Time Zone Database中数据。
/ # apk update
/ # apk add tzdata
修改时间
/ # cd /usr/share/zoneinfo/
/usr/share/zoneinfo # ls
Africa Atlantic Canada EST5EDT Factory GMT-0 Iceland Japan MST7MDT PRC ROC US Zulu zone1970.tab
America Australia Chile Egypt GB GMT0 Indian Kwajalein Mexico PST8PDT ROK UTC iso3166.tab
Antarctica Brazil Cuba Eire GB-Eire Greenwich Iran Libya NZ Pacific Singapore Universal posixrules
Arctic CET EET Etc GMT HST Israel MET NZ-CHAT Poland Turkey W-SU right
Asia CST6CDT EST Europe GMT+0 Hongkong Jamaica MST Navajo Portugal UCT WET zone.tab
/usr/share/zoneinfo # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
/usr/share/zoneinfo # date
Sun Oct 18 18:57:14 CST 2020
这里系统时间虽然修改过来了,但是之后运行Java程序时,时间任然相差8小时,所以需要添加如下
修改Java时区
/usr/share/zoneinfo # echo Asia/Shanghai > /etc/timezone
删除安装包
/usr/share/zoneinfo # apk del tzdata
(1/1) Purging tzdata (2020a-r0)
Executing busybox-1.29.3-r10.trigger
OK: 103 MiB in 54 packages
sh: getcwd: No such file or directory
/var/cache/apk # rm -rf /tmp/* /var/cache/apk/*
封装镜像
docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]
[root@VM-0-9-centos ~]# docker commit -a "author name" ade26f97bede openjdk8-tz:latest
上传到harbor
登录harbor
[root@VM-0-10-centos /]# docker login 172.16.0.33:808
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
修改镜像名称,改成能上传到harbor的名称,格式为: HarborIP/项目名/image名字:版本号
docker tag openjdk8-tz:latest 172.16.0.33:808/library/openjdk8:latest
将镜像push到harbor
docker push 172.16.0.33:808/library/openjdk8:latest
从harbor获取镜像
docker pull 172.16.0.33:808/library/openjdk8
更多推荐
所有评论(0)