Docker添加上海时区记录

dockerfile 记录:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
FROM registry.cn-hangzhou.aliyuncs.com/dragonwell/dragonwell:dragonwell-8.8.9_jdk8u302-ga_x86_64_slim

ADD target/k8s-web-0.0.1-SNAPSHOT.jar /app/
ADD run.sh /app/
ADD setenv.sh /app/
RUN chmod u+x /app/run.sh
RUN chmod u+x /app/setenv.sh
ENV TZ Asia/Shanghai
RUN ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime \
    && echo ${TZ} > /etc/timezone

WORKDIR /app
EXPOSE 20500
ENTRYPOINT ["/bin/sh", "-c", "set -e && /app/run.sh"]
1
lib/apt/lists/*
1
2
3
4
ENV TZ Asia/Shanghai

RUN ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime \
    && echo ${TZ} > /etc/timezone

1. Alpine

根据《Setting the timezone》提示,我们可以将以下代码添加到 Dockerfile 中:

1
2
3
4
5
ENV TZ Asia/Shanghai

RUN apk add tzdata && cp /usr/share/zoneinfo/${TZ} /etc/localtime \
    && echo ${TZ} > /etc/timezone \
    && apk del tzdata

2. Debian

Debian 基础镜像 中已经安装了 tzdata 包,我们可以将以下代码添加到 Dockerfile 中:

1
2
3
4
5
6
7
ENV TZ=Asia/Shanghai \
    DEBIAN_FRONTEND=noninteractive

RUN ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime \
    && echo ${TZ} > /etc/timezone \
    && dpkg-reconfigure --frontend noninteractive tzdata \
    && rm -rf /var/lib/apt/lists/*

3. Ubuntu

Ubuntu 基础镜像中没有安装了 tzdata 包,因此我们需要先安装 tzdata 包。

我们可以将以下代码添加到 Dockerfile 中。

1
2
3
4
5
6
7
8
9
ENV TZ=Asia/Shanghai \
    DEBIAN_FRONTEND=noninteractive

RUN apt update \
    && apt install -y tzdata \
    && ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime \
    && echo ${TZ} > /etc/timezone \
    && dpkg-reconfigure --frontend noninteractive tzdata \
    && rm -rf /var/lib/apt/lists/*

4. CentOS

CentOS 基础镜像 中已经安装了 tzdata 包,我们可以将以下代码添加到 Dockerfile 中。

1
2
3
4
ENV TZ Asia/Shanghai

RUN ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime \
    && echo ${TZ} > /etc/timezone

总结

Licensed under CC BY-NC-SA 4.0
最后更新于 Jan 06, 2025 05:52 UTC
comments powered by Disqus
Built with Hugo
主题 StackJimmy 设计
Caret Up