今天利用docker發布服務,發現 程序用獲取的系統時間比正常時間晚了8個小時
進入容器 docker exec -it /bin/sh
查詢時間 date -R
發現時區為0時區
----------------------------------------------------------------------------------
解決思路
1.復制相應的時區文件,替換系統時區文件;
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
發現創建鏡像時依賴的基礎鏡像 運行的容器沒有這兩個文件
2. 創建文件夾
mkdir -p /usr/share/zoneinfo/Asia
3.回到宿主機 復制 宿主機里的文件到容器中
docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID或容器名:/usr/share/zoneinfo/Asia
4. 進入容器
docker exec -it 容器Id或容器名
執行命令 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
5. 重啟容器