ToB企服应用市场:ToB评测及商务社交产业平台

标题: 记录liunx服务器和docker时区修改 [打印本页]

作者: 科技颠覆者    时间: 2023-6-23 16:41
标题: 记录liunx服务器和docker时区修改
记录服务器和docker时区修改

前言

我的博客是部署在docker里面的,然后我发现评论和留言的时间和北京时间是有差别的,相差8个小时,然后发现是因为容器中的时区设置与服务器是不一致的,所以需要设置一下。
更改liunx服务器时区

使用date命令查看当前系统时间,发现当前时区设置为UTC。
  1. $ date
  2. Wed Mar  3 09:21:28 UTC 2021
复制代码
使用ls命令列出了/usr/share/zoneinfo目录下的所有时区信息。
  1. $ ls /usr/share/zoneinfo
  2. Africa      Chile       Etc         Indian      MET         posixrules  US
  3. America     CST6CDT     Europe      Iran        Mexico      PRC         UTC
  4. Antarctica  Cuba        Factory     iso3166.tab Mideast     PST8PDT     WET
  5. Arctic      EET         GB          Israel      MST         right       W-SU
  6. Asia        Egypt       GB-Eire     Jamaica     MST7MDT     ROC         zone.tab
复制代码
使用ln命令将/etc/localtime文件链接到/usr/share/zoneinfo/Asia/Shanghai文件,以更改系统时区设置为上海时区。
  1. $ sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
复制代码
使用date命令查看当前系统时间,发现当前时区设置为上海时区。
  1. $ date
  2. Wed Mar  3 17:21:28 CST 2021
复制代码
在docker中配置时区

在项目根目录下创建一个名为Dockerfile的文件,用于构建Docker镜像。具体实现可以参考下面的代码示例:
  1. FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
  2. WORKDIR /app
  3. EXPOSE 80
  4. FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
  5. WORKDIR /src
  6. COPY . .
  7. ENV TZ=Asia/Shanghai
  8. RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
  9. ENTRYPOINT ["dotnet", "YourProjectName.dll"]
复制代码
设置Asia/Shanghai时区,并将其保存到/etc/localtime和/etc/timezone文件中,以便与宿主机器保持一致。
在项目根目录下运行以下命令,构建Docker镜像:
  1. docker build -t your-image-name .
复制代码
使用docker build命令构建Docker镜像,并指定镜像名称为your-image-name,最后的.表示Dockerfile文件所在的当前目录。
在构建完成Docker镜像后,你可以使用以下命令运行Docker容器:
  1. docker run -d -p 80:80 --name your-container-name your-image-name
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4