修改使用Alpine Linux的Docker容器的时区

适用对象

  • 使用 Alpine Linux 发行版的 Docker 镜像容器。
  • 仅仅适用于没有安装uclibc的系统。

修改步骤

  • 进入容器命令行

    # docker exec -it container_name /bin/sh
    
  • 安装 timezone 数据包

    # apk add -U tzdata
    # ls /usr/share/zoneinfo
    

    为了防止添加失败,加上-U参数,更新仓储缓存。
    列出安装的时区文件,验证是否下载成功。

  • 拷贝需要的时区文件到localtime,国内需要的是Asia/Shanghai

    # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
  • 验证时区

     # date
     Tue Jan  9 22:53:46 CST 2018
    

    CST 即为 中国标准时间

  • 移除时区文件:

    # apk del tzdata
    

    为了保证容器的精简和轻量,移除下载的时区文件。

参考资料:

https://wiki.alpinelinux.org/wiki/Setting_the_timezone

其他办法:

如果宿主机的时区是希望使用的时区,那么也可以用一个简单的办法来解决容器时区的问题。
启动容器的时候,可以映射宿主机的本地时区文件,

  • 例如:

    # docker run -it --name sample_alphine -v /etc/localtime:/etc/localtime -d alphine:lastest
    

你可能感兴趣的:(修改使用Alpine Linux的Docker容器的时区)