Base Image 使用的基本上都是 Docker 官方的伪阶,所以里面的時間設(shè)置大多是 Etc/UTC,也就是標(biāo)準(zhǔn)的 UTC 時間处嫌,所以要簡單的調(diào)整一下栅贴,變成中國標(biāo)準(zhǔn)時間。
如果Container 沒有創(chuàng)建的話,文件里可以加入配置
user-mysql:
image: mysql:5.6.23
ports:
- "2006:3306"
environment: TZ : "Asia/Shanghai" MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: test
‘TZ’ 就是設(shè)置時區(qū)
如果已經(jīng)創(chuàng)建了 container 的話熏迹,可以直接接入到 container 里面檐薯,用命令行實現(xiàn)時區(qū)的更改:
首先通過下面的命令進入對應(yīng)的 containerid:(docker ps 可以獲得CONTAINER ID)
docker exec -ti containerid bash
然后在 container 里面執(zhí)行如下的命令:
echo "Asia/Shanghai" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
可以看到屏幕上有類似的輸出:
Current default time zone: 'Asia/Shanghai' Local time is now: Sat May 14 18:34:13 CST 2016. Universal Time is now: Sat May 14 10:34:13 UTC 2016.
退出 exit
然后重啟 sudo docker restart containerid
我們可以看到,local time 已經(jīng)變成了 CST,也就是 CST – China Standard Time坛缕,這樣我們的時區(qū)修改就已經(jīng)完成了墓猎,之所以要用 noninteractive 的方式,是為了方便我們整合到 Dockerfile 中使用赚楚,比如:
RUN echo "Asia/Shanghai" > /etc/timezone
RUN dpkg-reconfigure -f noninteractive tzdata
這樣的話毙沾,我們可以把時區(qū)設(shè)置做到自己的 Image 中,就不需要每個 container 運行一次時區(qū)設(shè)置了宠页。