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

打印 上一主题 下一主题

主题 906|帖子 906|积分 2718

记录服务器和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
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

科技颠覆者

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表