跳转至

Alpine容器更改正确时区


2016-12-13 by dongnan

目标

alpine linux容器时区错误,需要为其设置与宿主机相同的时区。

开始之前

Alpine Linux

  • Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and Busybox.
  • more see: https://wiki.alpinelinux.org/wiki/Main_Page

错误描述

容器时间

docker exec -ti zabbix-server-mysql  /bin/bash
bash-4.3# date
Tue Dec 13 07:14:53 UTC 2016

宿主机时间

date
Tue Dec 13 15:23:41 CST 2016

容器与宿主机两者差8个时区。

解决方法

alpine linux 更改正确的时区,由于 alpine linux 为控制镜像体积,所以没有安装 tzdata 软件包,需要使用 apk 命令安装它。

apk add -U tzdata
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
(1/1) Installing tzdata (2016d-r0)
Executing busybox-1.24.2-r11.trigger
OK: 108 MiB in 44 packages

时区文件目录

ls /usr/share/
ca-certificates/    doc/   man/    misc/   mysql/  snmp/   terminfo/   zoneinfo/

拷贝时区文件

cp /usr/share/zoneinfo/Asia/Chongqing /etc/localtime

验证

操作完成后容器使用正确的时间。

date
Tue Dec 13 15:50:21 CST 2016

参考

Setting the timezone

欢迎关注微信公众号: 运维录

Back to top