适用对象
- 使用 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
网友评论