gpt4 book ai didi

java - 你如何在 Spring 更改Docker容器TZ?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:06:49 24 4
gpt4 key购买 nike

我正在使用 spring 推荐的 frolvlad/alpine-oraclejdk8 基础镜像:https://spring.io/guides/gs/spring-boot-docker/

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD gs-spring-boot-docker-0.1.0.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

我正在使用 -e TZ=/usr/share/zoneinfo/Europe/Paris 运行图像

我正在设置 env TZ 但这不会更改我容器中的时区。

如何更改这张图片的时区?

最佳答案

Alpine Linux 默认不安装时区文件以最小化 Docker 镜像的大小。

您需要显式安装tzdata 包并根据您要设置的时区复制zoneinfo 文件。

Dockerfile示例如下:

FROM frolvlad/alpine-oraclejdk8:slim

RUN apk --update add tzdata && \
cp /usr/share/zoneinfo/Europe/Paris /etc/localtime && \
apk del tzdata && \
rm -rf /var/cache/apk/*

构建图像:

$ docker build -t tztest .
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM frolvlad/alpine-oraclejdk8:slim
---> 00d8610f052e
Step 2 : RUN apk --update add tzdata && cp /usr/share/zoneinfo/Europe/Paris /etc/localtime && apk del tzdata && rm -rf /var/cache/apk/*
---> Running in 5b6a014fdaf3
fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/community/x86_64/APKINDEX.tar.gz
(1/1) Installing tzdata (2016i-r0)
Executing busybox-1.25.1-r0.trigger
OK: 14 MiB in 15 packages
(1/1) Purging tzdata (2016i-r0)
Executing busybox-1.25.1-r0.trigger
OK: 10 MiB in 14 packages
---> 6c379ddd4186
Removing intermediate container 5b6a014fdaf3
Successfully built 6c379ddd4186

检查容器的日期:

$ docker run -it --rm tztest date
Thu Mar 9 16:34:54 CET 2017

编辑:

如果你想在运行时而不是在构建时设置时区,请安装 tzdata 包并且不要在构建时删除:

FROM frolvlad/alpine-oraclejdk8:slim

RUN apk --no-cache add tzdata

构建图像:

$ docker build -t tztest .

然后,您可以在运行时设置环境变量TZ:

$ docker run -it --rm -e TZ="Europe/Paris" tztest date
Fri Mar 10 01:59:27 CET 2017

关于java - 你如何在 Spring 更改Docker容器TZ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42688491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com