• Dockerfile设置时区alpine


    背景:

    最近在写golang相关代码。其中用到了时间操作的相关函数,如下:

    nowTime := time.Now()
    nUnixEndTime := nowTime.Unix()
    nHour, nMin, nSec := nowTime.Clock()

    但代码跑在docker容器中,时间就取不对了。原因为容器中的时区与本机时区不一致。

    处理:

    设置docker容器的时区,Dockerfile如下设置:

    FROM alpine
    
    LABEL license='SPDX-License-Identifier: Apache-2.0' 
          copyright='Copyright (c) 2018'
    
    # The main mirrors are giving us timeout issues on builds periodically.
    # So we can try these.
    ENV TZ=Asia/Shanghai
    # RUN sed -e 's/dl-cdn[.]alpinelinux.org/nl.alpinelinux.org/g' -i~ /etc/apk/repositories
    RUN echo "http://mirrors.aliyun.com/alpine/v3.4/main/" > /etc/apk/repositories 
        && apk --no-cache add tzdata zeromq 
        && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime 
        && echo '$TZ' > /etc/timezone

    ps:

    因alpine镜像中并没有时区相关的包,需要下载安装才行。并设置localtime和timezone为东八区

  • 相关阅读:
    家庭记账本安卓版开发:第六天
    django-自定义过滤器
    django-标签语法
    django-url的分发, 2)起别名, 3)根目录,4)rediect跳转函数:
    django-MTV基础篇
    django-第一天
    jquery---响应式方面应用
    css-基础知识
    HTML--第一章的基本知识
    003
  • 原文地址:https://www.cnblogs.com/huoqs/p/10975375.html
Copyright © 2020-2023  润新知