zoukankan      html  css  js  c++  java
  • docker 下 alpine 镜像设置时区的有效办法

    在使用Docker的时候,由于很多基础linux镜像都比较大,alpine这个仅仅几兆的linux基础镜像受到了很多人喜欢,笔者也不例外,可是由于alpine中的一些配置及命令与常见的centos等系统在一些方面不一样,下面来看看时区问题是如何解决的:

    原因:alpine中,原生是不带时区相关的命令及文件的,需要安装额外的包来支持,然后需要将时区文件内容替换为localtime文件

    解决办法

    建议打造自己的alpine基础镜像,如下是我的alpine的Dockerfile:

    FROM alpine:3.4
    MAINTAINER firewarm LightingLiu <liuyg@liuyingguang.cn>
    
    # Install root filesystem
    ADD ./rootfs /
    
    # Install base packages
    RUN apk update && apk add curl bash tree tzdata 
        && cp -r -f /usr/share/zoneinfo/Hongkong /etc/localtime 
        && echo -ne "Alpine Linux 3.4 image. (`uname -rsv`)
    " >> /root/.built
    # Define bash as default command
    CMD ["/bin/bash"]

    当这个镜像完成以后,不需要配置任何环境变量即可使用京八区的时区及时间

    参考的源代码

    docker run -it --rm alpine /bin/sh
    / # date
    Sun May 8 20:46:18 UTC 2016
    / # apk add -U tzdata
    fetch http://dl-cdn.alpinelinux.org/alpine/v3.3/main/x86_64/APKINDEX.tar.gz
    fetch http://dl-cdn.alpinelinux.org/alpine/v3.3/community/x86_64/APKINDEX.tar.gz
    (1/1) Installing tzdata (2015g-r0)
    Executing busybox-1.24.1-r7.trigger
    OK: 8 MiB in 12 packages
    / # cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime
    / # date
    Sun May 8 22:46:45 CEST 2016
    / # 
  • 相关阅读:
    JS中的call()和apply()方法和bind()
    reactjs入门到实战(十)----one-first_app
    49-Reverse Linked List II
    48-Merge Sorted Array
    47-Generate Parentheses
    46.Valid Parentheses
    45-Letter Combinations of a Phone Number
    44-Count and Say
    43-Reverse Nodes in k-Group
    42-Remove Nth Node From End of List
  • 原文地址:https://www.cnblogs.com/sheng-247/p/10317825.html
Copyright © 2011-2022 走看看