Linux服務器和docker時區(qū)修改問題
我的博客是部署在docker里面的,然后我發(fā)現(xiàn)評論和留言的時間和北京時間是有差別的,相差8個小時,然后發(fā)現(xiàn)是因為容器中的時區(qū)設置與服務器是不一致的,所以需要設置一下。
更改Linux服務器時區(qū)查看當前時區(qū)設置使用date命令查看當前系統(tǒng)時間,發(fā)現(xiàn)當前時區(qū)設置為UTC。
$ dateWed Mar 3 09:21:28 UTC 2021列出可用的時區(qū)列表使用ls命令列出了/usr/share/zoneinfo目錄下的所有時區(qū)信息。
$ ls /usr/share/zoneinfoAfrica Chile Etc Indian MET posixrules USAmerica CST6CDT Europe IranMexico PRC UTCAntarctica CubaFactory iso3166.tab Mideast PST8PDT WETArctic EET GB Israel MST right W-SUAsiaEgypt GB-Eire Jamaica MST7MDT ROC zone.tab更改時區(qū)設置使用ln命令將/etc/localtime文件鏈接到/usr/share/zoneinfo/Asia/Shanghai文件,以更改系統(tǒng)時區(qū)設置為上海時區(qū)。
$ sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime驗證時區(qū)設置使用date命令查看當前系統(tǒng)時間,發(fā)現(xiàn)當前時區(qū)設置為上海時區(qū)。
$ dateWed Mar 3 17:21:28 CST 2021在docker中配置時區(qū)創(chuàng)建Dockerfile文件在項目根目錄下創(chuàng)建一個名為Dockerfile的文件,用于構建Docker鏡像。具體實現(xiàn)可以參考下面的代碼示例:
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS baseWORKDIR /appEXPOSE 80FROM mcr.microsoft.com/dotnet/sdk:5.0 AS buildWORKDIR /srcCOPY . .ENV TZ=Asia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneENTRYPOINT ['dotnet', 'YourProjectName.dll']設置Asia/Shanghai時區(qū),并將其保存到/etc/localtime和/etc/timezone文件中,以便與宿主機器保持一致。
構建Docker鏡像在項目根目錄下運行以下命令,構建Docker鏡像:
docker build -t your-image-name .使用docker build命令構建Docker鏡像,并指定鏡像名稱為your-image-name,最后的.表示Dockerfile文件所在的當前目錄。
運行Docker容器在構建完成Docker鏡像后,你可以使用以下命令運行Docker容器:
docker run -d -p 80:80 --name your-container-name your-image-name到此這篇關于記錄服務器和docker時區(qū)修改的文章就介紹到這了,更多相關服務器和docker時區(qū)內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
