|
记录服务器和docker时区修改
前言
我的博客是部署在docker里面的,然后我发现评论和留言的时间和北京时间是有差别的,相差8个小时,然后发现是因为容器中的时区设置与服务器是不一致的,所以需要设置一下。
更改liunx服务器时区
使用date命令查看当前系统时间,发现当前时区设置为UTC。- $ date
- Wed Mar 3 09:21:28 UTC 2021
复制代码 使用ls命令列出了/usr/share/zoneinfo目录下的所有时区信息。- $ 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
复制代码 使用ln命令将/etc/localtime文件链接到/usr/share/zoneinfo/Asia/Shanghai文件,以更改系统时区设置为上海时区。- $ sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
复制代码 使用date命令查看当前系统时间,发现当前时区设置为上海时区。- $ date
- Wed Mar 3 17:21:28 CST 2021
复制代码 在docker中配置时区
在项目根目录下创建一个名为Dockerfile的文件,用于构建Docker镜像。具体实现可以参考下面的代码示例:- 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"]
复制代码 设置Asia/Shanghai时区,并将其保存到/etc/localtime和/etc/timezone文件中,以便与宿主机器保持一致。
在项目根目录下运行以下命令,构建Docker镜像:- docker build -t your-image-name .
复制代码 使用docker build命令构建Docker镜像,并指定镜像名称为your-image-name,最后的.表示Dockerfile文件所在的当前目录。
在构建完成Docker镜像后,你可以使用以下命令运行Docker容器:- docker run -d -p 80:80 --name your-container-name your-image-name
复制代码 来源:https://www.cnblogs.com/ZYPLJ/archive/2023/06/23/17499193.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|