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
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
|
总结