1. 程式人生 > >Docker容器時間與宿主機差8小時

Docker容器時間與宿主機差8小時

近日測試提了個bug說是登入時間比北京時間晚了8個小時,發現是docker容器的問題,Linux下用date檢視的時間與在docker容器裡面用date檢視的時間相差8小時,docker容器裡預設是 UTC 時間,本人用一下兩種方式嘗試了均可以,自己做個筆記:

第一種: 新構建映象時,Dockerfile裡面新增如下語句,指定時區:

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone

 第二種:已經構建好的映象在啟動時用 "-v"命令指定共享宿主機時間,如 映象id為 e44a34f8e997 ,啟動容器並重命名為mycontainer,對映宿主機埠 9999到容器8888:

docker run --name mycontainer -v /etc/localtime:/etc/localtime:ro  -p 9999:8888 e44a34f8997