您的位置:首頁技術文章
文章詳情頁

Linux服務器和docker時區修改問題

瀏覽:24日期:2023-09-23 20:55:12
目錄前言更改Linux服務器時區在docker中配置時區前言

我的博客是部署在docker里面的,然后我發現評論和留言的時間和北京時間是有差別的,相差8個小時,然后發現是因為容器中的時區設置與服務器是不一致的,所以需要設置一下。

更改Linux服務器時區查看當前時區設置

使用date命令查看當前系統時間,發現當前時區設置為UTC。

$ dateWed Mar 3 09:21:28 UTC 2021列出可用的時區列表

使用ls命令列出了/usr/share/zoneinfo目錄下的所有時區信息。

$ 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更改時區設置

使用ln命令將/etc/localtime文件鏈接到/usr/share/zoneinfo/Asia/Shanghai文件,以更改系統時區設置為上海時區。

$ sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime驗證時區設置

使用date命令查看當前系統時間,發現當前時區設置為上海時區。

$ dateWed Mar 3 17:21:28 CST 2021在docker中配置時區創建Dockerfile文件

在項目根目錄下創建一個名為Dockerfile的文件,用于構建Docker鏡像。具體實現可以參考下面的代碼示例:

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時區,并將其保存到/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時區修改的文章就介紹到這了,更多相關服務器和docker時區內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Linux
国产综合久久一区二区三区