您的位置:首页技术文章
文章详情页

Linux服务器和docker时区修改问题

【字号: 日期:2023-09-23 20:55:12浏览:11作者:猪猪
目录前言更改Linux服务器时区在docker中配置时区前言

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

更改Linux服务器时区查看当前时区设置

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

$ dateWed Mar 3 09:21:28 UTC 2021列出可用的时区列表

使用ls命令列出了/usr/share/zoneinfo目录下的所有时区信息。

$ ls /usr/share/zoneinfoAfrica Chile Etc Indian MET posixrules USAmerica CST6CDT Europe IranMexico PRC UTCAntarctica CubaFactory iso3166.tab Mideast PST8PDT WETArctic EET GB Israel MST right W-SUAsiaEgypt 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命令查看当前系统时间,发现当前时区设置为上海时区。

$ dateWed Mar 3 17:21:28 CST 2021在docker中配置时区创建Dockerfile文件

在项目根目录下创建一个名为Dockerfile的文件,用于构建Docker镜像。具体实现可以参考下面的代码示例:

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS baseWORKDIR /appEXPOSE 80FROM mcr.microsoft.com/dotnet/sdk:5.0 AS buildWORKDIR /srcCOPY . .ENV TZ=Asia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneENTRYPOINT ['dotnet', 'YourProjectName.dll']

设置Asia/Shanghai时区,并将其保存到/etc/localtime和/etc/timezone文件中,以便与宿主机器保持一致。

构建Docker镜像

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

docker build -t your-image-name .

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

运行Docker容器

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

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

到此这篇关于记录服务器和docker时区修改的文章就介绍到这了,更多相关服务器和docker时区内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!

标签: Linux