目錄
- 前言
- 更改Linux服務(wù)器時(shí)區(qū)
- 在docker中配置時(shí)區(qū)
前言
我的博客是部署在docker里面的,然后我發(fā)現(xiàn)評(píng)論和留言的時(shí)間和北京時(shí)間是有差別的,相差8個(gè)小時(shí),然后發(fā)現(xiàn)是因?yàn)槿萜髦械臅r(shí)區(qū)設(shè)置與服務(wù)器是不一致的,所以需要設(shè)置一下。
更改Linux服務(wù)器時(shí)區(qū)
- 查看當(dāng)前時(shí)區(qū)設(shè)置
使用date
命令查看當(dāng)前系統(tǒng)時(shí)間,發(fā)現(xiàn)當(dāng)前時(shí)區(qū)設(shè)置為UTC。
$ date Wed Mar 3 09:21:28 UTC 2021
- 列出可用的時(shí)區(qū)列表
使用ls
命令列出了/usr/share/zoneinfo
目錄下的所有時(shí)區(qū)信息。
$ ls /usr/share/zoneinfo Africa Chile Etc Indian MET posixrules US America CST6CDT Europe Iran Mexico PRC UTC Antarctica Cuba Factory iso3166.tab Mideast PST8PDT WET Arctic EET GB Israel MST right W-SU Asia Egypt GB-Eire Jamaica MST7MDT ROC zone.tab
- 更改時(shí)區(qū)設(shè)置
使用ln
命令將/etc/localtime
文件鏈接到/usr/share/zoneinfo/Asia/Shanghai
文件,以更改系統(tǒng)時(shí)區(qū)設(shè)置為上海時(shí)區(qū)。
$ sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 驗(yàn)證時(shí)區(qū)設(shè)置
使用date
命令查看當(dāng)前系統(tǒng)時(shí)間,發(fā)現(xiàn)當(dāng)前時(shí)區(qū)設(shè)置為上海時(shí)區(qū)。
$ date Wed Mar 3 17:21:28 CST 2021
在docker中配置時(shí)區(qū)
- 創(chuàng)建Dockerfile文件
在項(xiàng)目根目錄下創(chuàng)建一個(gè)名為Dockerfile
的文件,用于構(gòu)建Docker鏡像。具體實(shí)現(xiàn)可以參考下面的代碼示例:
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base WORKDIR /app EXPOSE 80 FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build WORKDIR /src COPY . . ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone ENTRYPOINT ["dotnet", "YourProjectName.dll"]
設(shè)置Asia/Shanghai
時(shí)區(qū),并將其保存到/etc/localtime
和/etc/timezone
文件中,以便與宿主機(jī)器保持一致。
- 構(gòu)建Docker鏡像
在項(xiàng)目根目錄下運(yùn)行以下命令,構(gòu)建Docker鏡像:
docker build -t your-image-name .
使用docker build
命令構(gòu)建Docker鏡像,并指定鏡像名稱為your-image-name
,最后的.
表示Dockerfile文件所在的當(dāng)前目錄。
- 運(yùn)行Docker容器
在構(gòu)建完成Docker鏡像后,你可以使用以下命令運(yùn)行Docker容器:
docker run -d -p 80:80 --name your-container-name your-image-name