修改使用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
Comments | NOTHING