當(dāng)前情況
宿主機(jī)的時區(qū)要是CST皂冰,即東八區(qū)闯团。
MySQL所在的容器是UTC
在MySQL內(nèi)執(zhí)行select now()顯示的時間也是UTC。
- 通過docker cp修改容器時間
如下即可將容器的時間改為和宿主機(jī)同樣的時區(qū)
sudo docker cp /etc/localtime 231458904a77:/etc/localtime
這個時候如果報錯了
[root@VM-0-8-centos /]# sudo docker cp /etc/localtime mysql:/etc/localtime
Successfully copied 1.54kB to mysql:/usr/share/zoneinfo/UCT
Error response from daemon: invalid symlink "/usr/share/zoneinfo/UCT" -> "../usr/share/zoneinfo/Asia/Shanghai"
即使重啟 容器 時間也 沒有改變
更改命令
docker cp /usr/share/zoneinfo/Asia/Shanghai 70ec41893d66:/etc/localtime
此時MySQL所在的容器時間如下,已經(jīng)是東八區(qū)
? ~ ? sudo docker exec -it 231458904a77 /bin/bash
root@231458904a77:/# date
Thu Jan 28 10:56:42 CST 2021
但是静袖,MySQL服務(wù)的時間還不是東八區(qū)
- 重啟MySQL容器
sudo docker restart 231458904a77
執(zhí)行完命令之后查看,則可以發(fā)現(xiàn)宿主機(jī)壳猜、MySQL所在容器勾徽、MySQL服務(wù)三個時區(qū)都是一致的了
也可以在 創(chuàng)建容器的時候 增加參數(shù)
-e TZ=Asia/Shanghai