最近用docker部署应用时发现时间差了8个小时。十有八九是系统时区设置的问题,于是用date -R 查看时间,果然相差八小时。以下有几种方法可以解决
第一类:在容器中修改方法
- 使用tzselect,一步步操作选择北京时间
- export TZ='Asia/Shanghai'
- cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo 'Asia/Shanghai' >/etc/timezone
第二类:在容器外修改方法:
- docker exec -it xxx /bin/bash -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone
- docker run -e TZ="Asia/Shanghai"
第三类:容器内修改后commit打包,一劳永逸:
- docker container commit [containerID] [REPOSITORY[:TAG]]
- docker container export [containerID] > path