翼度科技»论坛 编程开发 .net 查看内容

记录liunx服务器和docker时区修改

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
记录服务器和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文件
在项目根目录下创建一个名为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镜像
在项目根目录下运行以下命令,构建Docker镜像:
  1. docker build -t your-image-name .
复制代码
使用docker build命令构建Docker镜像,并指定镜像名称为your-image-name,最后的.表示Dockerfile文件所在的当前目录。

  • 运行Docker容器
在构建完成Docker镜像后,你可以使用以下命令运行Docker容器:
  1. 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】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具