Dockerfile设置时区

在docker container 中不能自动识别宿主机的时区,可通过安装tzdata软件包,配置TZ环境变量识别正确时区.
使用tzdata设置时区dpkg-reconfigure tzdata

# for ubuntu 
RUN apt-get update && apt-get install -y --no-install-recommends tzdata  && rm -rf /var/lib/apt/lists/*
ENV TZ Asia/Shanghai

# for alpine
RUN apk add --no-cache tzdata
ENV TZ Asia/Shanghai

当在个性化需求是可在docker run命令或docker-compose文件增加环境变量 -e TZ=Asia/Shanghai(其他时区)

本人测试文件
ubuntu/Dockerfile

FROM ubuntu
RUN apt update && apt install -y tzdata
ENV TZ Asia/Shanghai
WORKDIR /app
COPY . /app
ENV NAME World

alpine/Dockerfile

FROM python:3.6-alpine
WORKDIR /app
COPY . /app
ENV NAME World
RUN apk add --no-cache tzdata
ENV TZ Asia/Shanghai
CMD ["python", "app.py"]

测试用的复制粘贴

docker build -t t-u  study_days/docker/ubuntu
docker build -t t-a  study_days/docker/alpine

docker run --entrypoint /bin/sh -it t-a
docker run --entrypoint /bin/bash -it t-s

# tzdata 设置时区
dpkg-reconfigure tzdata
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容