记录服务器和docker时区修改

前言

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

更改liunx服务器时区

  1. 查看当前时区设置

使用date命令查看当前系统时间,发现当前时区设置为UTC。

$ date
Wed Mar 3 09:21:28 UTC 2021
  1. 列出可用的时区列表

使用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
  1. 更改时区设置

使用ln命令将/etc/localtime文件链接到/usr/share/zoneinfo/Asia/Shanghai文件,以更改系统时区设置为上海时区。

$ sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  1. 验证时区设置

使用date命令查看当前系统时间,发现当前时区设置为上海时区。

$ date
Wed Mar 3 17:21:28 CST 2021

在docker中配置时区

  1. 创建Dockerfile文件

在项目根目录下创建一个名为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文件中,以便与宿主机器保持一致。

  1. 构建Docker镜像

在项目根目录下运行以下命令,构建Docker镜像:

docker build -t your-image-name .

使用docker build命令构建Docker镜像,并指定镜像名称为your-image-name,最后的.表示Dockerfile文件所在的当前目录。

  1. 运行Docker容器

在构建完成Docker镜像后,你可以使用以下命令运行Docker容器:

docker run -d -p 80:80 --name your-container-name your-image-name

记录liunx服务器和docker时区修改的更多相关文章

  1. 困扰的问题终于解决了-docker时区不正确的问题修改记

    前一阵子有一台服务器,mysql的时间比北京时间晚了8个小时.我知道是时区的问题,但是不知道为什么弄成这样,宿主机没有问题,后来一看mysql的docker,时区是错的. mybatis-plus打印 ...

  2. docker时区不正确的问题修改记

    前一阵子有一台服务器,mysql的时间比北京时间晚了8个小时.我知道是时区的问题,但是不知道为什么弄成这样,宿主机没有问题,后来一看mysql的docker,时区是错的. mybatis-plus打印 ...

  3. 修改阿里云ECS服务器的系统时区

    1.前提 由于公司有在印尼的项目,所以购买了阿里云在新加坡机房的服务器(在印尼还没有),印尼当地使用的是东七区的时间,所以领导要求修改阿里云ECS系统的时区. 2.动手 修改阿里云ECS服务器系统的时 ...

  4. 记录Ubuntu下使用docker使用

    关键词:docker.Dockerfile等等. 这里主要记录Ubuntu下docker使用细节. 首先是如何安装,然后如何创建docker镜像.搭建docker服务器.运行使用docker. 1. ...

  5. 腾讯云轻量服务器通过Docker搭建外网可访问连接的redis5.x集群

    总结记录/朱季谦 最近买了一台4核16的腾讯云轻量应用服务器,花了我快四百的大洋,打算搭建一堆docker组件集群,最先开始是通过docker搭建redis集群,计划使用三个端口,分别是7001,70 ...

  6. 记录参加“牛津计划.Docker在线黑客松”比赛的过程

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  7. Linux 系统时间查看 及 时区修改(自动同步时间)

    1:使用date命令查看时区 [root@db-server ~]# date -R   Sun, 11 Jan 2015 07:10:28 -0800   [root@db-server ~]#   ...

  8. docker容器修改hosts文件,重启失效问题解决

    docker容器修改hosts文件 搜了一大批资料,有说需要在docker run --hosts...改:dockerfile改:有点麻烦,下面方案比较好: 参照docker吧(https://ti ...

  9. 【转载】Linux 系统时间查看 及 时区修改(自动同步时间)

    1:使用date命令查看时区 [root@db-server ~]# date -R   Sun, 11 Jan 2015 07:10:28 -0800   [root@db-server ~]#   ...

  10. 使用Docker Toolbox基于boot2docker搭建的Docker如何修改镜像源

    镜像源 由于众所周知的原因,我们直接连接这些位于国外服务器上的仓库去获取依赖包速度是非常慢的,这时候我们通常会采用国内一些组织或开发者贡献的国内镜像仓库. 1.首先Docker也提供了国内的镜像源:h ...

随机推荐

  1. Rancher管理K8s集群(14)

    一.Rancher介绍 1.1 Rancher简介 Rancher 是一个开源的企业级多集群 Kubernetes 管理平台,实现了 Kubernetes 集群在混合云+本地 数据中心的集中部署与管理 ...

  2. C语言,实现数字谱到简谱的转换

    C语言,实现数字谱到简谱的转换 前言:本文初编辑于2024年4月28日 CSDN:https://blog.csdn.net/rvdgdsva 博客园:https://www.cnblogs.com/ ...

  3. Phpstrom开发工具Sftp的使用

  4. PostgreSQL数据库管理工具pgAdmin4界面如何设置为中文显示

    首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485130&idx=1 ...

  5. 八大远程控制软件,完美替代Teamviewer

    理想情况下,最好的远程桌面软件应该物有所值,同时为用户提供快速.安全和可靠的远程连接.还应该有一套强大的解决方案,提供高级报告和增强功能.跨平台支持和通信. TeamViewer 拥有超过 25 亿的 ...

  6. C语言:if语句嵌套应用(小剧场)

    #include <stdio.h> int main() { int num,i; printf("一天Jackson.W打开了电脑想学习C语言\n"); print ...

  7. AIRIOT物联网低代码平台如何配置欧姆龙omron驱动?

    数据采集与控制是物联网的核心能力之一,AIRIOT物联网低代码平台提供了丰富的驱动,兼容了市面上95%以上的传感器.控制器及数据采集设备等,并且在持续增加中,能够快速.便捷地实现数据采集与控制功能. ...

  8. Linux/Golang/glibC系统调用

    Linux/Golang/glibC系统调用 本文主要通过分析Linux环境下Golang的系统调用,以此阐明整个流程 有时候涉略过多,反而遭到质疑~,写点文章证明自己实力也好 Golang系统调用 ...

  9. 前端使用 Konva 实现可视化设计器(11)- 对齐效果

    这一章补充一个效果,在多选的情况下,对目标进行对齐.基于多选整体区域对齐的基础上,还支持基于其中一个节点进行对齐. 请大家动动小手,给我一个免费的 Star 吧~ 大家如果发现了 Bug,欢迎来提 I ...

  10. 【C#】 封装的异步HttpRequest

      private async void btn_userLogin_Click(object sender, EventArgs e)        {            UInfo = new ...