手动同步宿主机时区至Docker容器

宿主机时区配置

系统:debian 9
时区:Asia/Shanghai
权限:root

修改debian系统时区需要修改/etc/timezone和/etc/localtime两个文件。
前者只需添加一行Asia/Shanghai,可以使用命令修改:

echo "Asia/Shanghai" > /etc/timezone

后者可以直接拷贝/usr/share/zoneinfo/Asia/Shanghai 到 /etc/localtime:

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

也可以创建软连接:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

使用date命令查看是否生效

同步Doker容器时区

以mysql为例
方法1:在创建容器的时候用-v将宿主机上的/etc/timezone和/etc/localtime两个文件挂载到容器的对应目录:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=xxx -p 3306:3306 -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /docker-data/mysql:/var/lib/mysql -d mysql:5.7

方法2:在创建容器时指定TZ环境变量为Asia/Shanghai

docker run --name mysql -e MYSQL_ROOT_PASSWORD=xxx -p 3306:3306 -e TZ=Asia/Shanghai -v /docker-data/mysql:/var/lib/mysql -d mysql:5.7

查看效果:

docker exec -it mysql date

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容