docker-alpine容器修改時區的方法
知識
04-03
由於體積很大小,alpine經常用在容器裡面,但是經常發現跟時間相關的都不正確,不是本地時間,通過date命令可以看到,是UTC時間。
在alpine最小化的包裡面是沒有時區信息文件的,需要另外安裝。
安裝
apk add --no-cache tzdata
拷貝對應的時區文件按到/etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
驗證
date
命令就可以看到時區已經被修改了
卸載
複製完以後tzdata這個包就沒有用了,可以del掉。在製作鏡像的時候,cp完就直接del就可以了。
apk del tzdata
另外一種方法
也可以直接使用物理機的時區文件,這樣子就不需要安裝操作了。
在寫dockerfile的時候,直接複製製作物理機上的localtime:
copy /etc/localtime /etc/
也可以在容器啟動的時候,再去掛載主機localtime文件
docker run -it --name sample_alphine -v /etc/localtime:/etc/localtime -d alphine:lastest