Linux服務(wù)器和docker時區(qū)修改問題
我的博客是部署在docker里面的,然后我發(fā)現(xiàn)評論和留言的時間和北京時間是有差別的,相差8個小時,然后發(fā)現(xiàn)是因為容器中的時區(qū)設(shè)置與服務(wù)器是不一致的,所以需要設(shè)置一下。
更改Linux服務(wù)器時區(qū)查看當(dāng)前時區(qū)設(shè)置使用date命令查看當(dāng)前系統(tǒng)時間,發(fā)現(xiàn)當(dāng)前時區(qū)設(shè)置為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ū)設(shè)置使用ln命令將/etc/localtime文件鏈接到/usr/share/zoneinfo/Asia/Shanghai文件,以更改系統(tǒng)時區(qū)設(shè)置為上海時區(qū)。
$ sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime驗證時區(qū)設(shè)置使用date命令查看當(dāng)前系統(tǒng)時間,發(fā)現(xiàn)當(dāng)前時區(qū)設(shè)置為上海時區(qū)。
$ dateWed Mar 3 17:21:28 CST 2021在docker中配置時區(qū)創(chuàng)建Dockerfile文件在項目根目錄下創(chuàng)建一個名為Dockerfile的文件,用于構(gòu)建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']設(shè)置Asia/Shanghai時區(qū),并將其保存到/etc/localtime和/etc/timezone文件中,以便與宿主機(jī)器保持一致。
構(gòu)建Docker鏡像在項目根目錄下運行以下命令,構(gòu)建Docker鏡像:
docker build -t your-image-name .使用docker build命令構(gòu)建Docker鏡像,并指定鏡像名稱為your-image-name,最后的.表示Dockerfile文件所在的當(dāng)前目錄。
運行Docker容器在構(gòu)建完成Docker鏡像后,你可以使用以下命令運行Docker容器:
docker run -d -p 80:80 --name your-container-name your-image-name到此這篇關(guān)于記錄服務(wù)器和docker時區(qū)修改的文章就介紹到這了,更多相關(guān)服務(wù)器和docker時區(qū)內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
