首页 > 其他分享 >Docker修改容器内部时间

Docker修改容器内部时间

时间:2023-07-24 17:03:17浏览次数:40  
标签:容器 zoneinfo 修改 时间 2023 CST Docker docker

Docker修改容器内部时间_linux

因:最近在捣鼓定时任务的时候发现我本地调试没问题,发到服务器上之后发现实际生效时间比设定的晚了8小时,于是记录一下解决方案,以便于日后查询!

linux服务的时间

查看时间

使用date

dete
# 输出结果
Fri Jun  2 10:51:20 CST 2023

使用timedatectl

timedatectl
# 输出结果
   Local time: Fri 2023-06-02 11:11:56 CST
  Universal time: Fri 2023-06-02 03:11:56 UTC
        RTC time: Fri 2023-06-02 03:11:55
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: no
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

小贴士:这里讲解一下常见的两种时间
UTC时间:是零时区的时间,不同国家会在该时间的基础上进行调整
CST时间: 中央标准时间一般代表的是(美国:零区时减6个小时)、(澳大利亚:零区时加9个半小时)、(中国:零区时加8个小时)、(古巴:零区时减4个小时)
所以我们一般CST时间就足够了!

改变时间

查看可用时区

我们可以使用“ls”命令查看/usr/share/zoneinfo目录,它包含了所有可用的时区

ls /usr/share/zoneinfo
# 输出结果太多了,就不展示了

使用timedatectl更改时区

timedatectl set-timezone 时区
# 这里的时区就是上面ls里面的

docker容器的时间

从上面的结果可以看出linux的时间跟我本地的时间是一致的,那就可能是docker容器内部时间的问题了!

查看时间

查看容器id

这里简单介绍一下怎么查看正在运行容器

docker ps
# 这里就简单展示一下我的nginx容器
#后面命令就拿这个容器id 8b3909e33fcb来介绍
CONTAINER ID   IMAGE                     COMMAND                  CREATED        STATUS        PORTS                                                                      NAMES     COMMAND                  CREATED        STATUS        PORTS                                                                      NAMES
8b3909e33fcb   nginx                     "/docker-entrypoint.…"   2 months ago   Up 2 months   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   mynginx

进入容器

docker exec -it 8b3909e33fcb sh
# 上面的命令就进入容器内部的shell了

查看容器时间

其实跟上面差不多

date
# 输出结果
Fri Jun  2 02:34:29 UTC 2023

发现这里的时间有问题了,这就是为什么晚了8个小时的原因了,接下来改变它就行

docker cp /usr/share/zoneinfo/Asia/Shanghai 8b3909e33fcb:/usr/share/zoneinfo/Asia
# 输出结果
Successfully copied 2.56kB to 8b3909e33fcb:/usr/share/zoneinfo/Asia

这个时候再查看就发现时间变过来了,至此问题解决!


看到这里,就说明你对docker了解或者想要了解,可以关注公众号,后面不定时更新,当然也会更新其他内容,希望你喜欢!
下期见

Docker修改容器内部时间_linux_02

关注公众号了解更多

标签:容器,zoneinfo,修改,时间,2023,CST,Docker,docker
From: https://blog.51cto.com/u_16123566/6836804

相关文章

  • [Docker] chroot
    It'saLinuxcommandthatallowsyoutosettherootdirectoryofanewprocess.Inourcontainerusecase,wejustsettherootdirectorytobewhere-everthenewcontainer'snewrootdirectoryshouldbe.Andnowthenewcontainergroupofproc......
  • 通过docker安装的jira提示We've detected a potential problem with JIRA's Dashboard
    正常通过docker安装jira后,访问是不会出问题的但是如果使用nginx代理后,就是在nginx里配置了proxy_passhttp://localhost:2800再访问后,就会报错We'vedetectedapotentialproblemwithJIRA'sDashboardconfigurationthatyouradministratorcancorrect.Clickhereto......
  • Spring Boot集成Docker部署教程
    前言Docker有时候确实易用,但SpringBoot官方好像并不推荐这种方式,按照个人理解应该是SpringBoot已经做了一个很优秀的集成,对于Docker这种容器化让开发人员不能专注于开发...附文为SpringBoot官方教程:https://spring.io/guides/topicals/spring-boot-docker/ 正文环境是J......
  • 2.dockerfile指令及数据卷
    dockerfile指令总结FROM:指定基础镜像LABEL:指定镜像元数据,即标签RUN:指定shell命令CMD:容器启动命令EXPORT:暴露端口ENV:设置环境变量ADD:复制和解包文件,增强版的copyCOPY:复制本地宿主机的文本到容器VLOUME:匿名卷WORKDIR:指定工作目录ARG:构建参数USER:指定当前用户ENTRYPOINT:......
  • 3.docker网络管理
    #MySQL容器默认使用了匿名数据卷[root@ubuntu1804~]#dockerrun-d--namemysql-p3306:3306-eMYSQL_ROOT_PASSWORD=123456mysql:5.7.30#备份数据库[root@ubuntu1804~]#dockerrun-it--rm--volumes-frommysql-v$(pwd):/backupcentostarxvf/backup/mysql.tar......
  • 4.镜像制作方式和dockerfile(Ubuntu、nginx)
    制作镜像方式dockercommit通过修改现有的容器,将之手动构建为镜像dockerbuild通过dockerfile文件,批量构建为镜像用镜像做成容器,在容器的基础上定制一个镜像手动制作镜像:commit基于busybox容器创建busybox:v1.0镜像[root@ubuntu2004~]#dockercommit-ali-m"initbusybo......
  • RUBY实践—带密码加密的用户创建及修改
    开发环境Ruby:Ruby1.9.1Rails:Rails2.3.5Mysql:Mysql5.0.9Driver:mysql-2.8.1-x86-mingw32.gemIDE:Rubymine2.0.1 一、创建数据表Users利用RubyMine自带的Scaffold工具创建数据表Users,也可以手动创建 二、创建Controller和ViewRuby项目—>右键—>CreateModel完成后将自动生成......
  • 1.Docker基础及自动安装
    docker的介绍和基础操作docker单机容器dockercompose单机多个容器k8s多机多个容器container即容器,集装箱docker就是搬运集装的码头工人,管理容器的管理工具Docker的组成:Docker主机(Host):一个物理机或虚拟机,用于运行Docker服务进程和容器,也称为宿主机,node节点Docker......
  • 怎样一次修改python里的多个相同变量
    怎样一次修改Python里的多个相同变量在Python中,我们经常需要修改多个相同变量的值。如果变量数量较少,可以逐个修改。但如果变量数量较多,这样的方式就不够高效了。本文将介绍如何一次修改Python中的多个相同变量,提高代码的效率。方法一:使用列表一种简单的方法是将变量存储在一个......
  • Creating network "docker_default" with the default driver ERROR: Failed to S
    创建网络"docker_default"withthedefaultdriverERROR:FailedtoS在使用Docker容器时,有时会遇到以下错误信息:Creatingnetwork"docker_default"withthedefaultdriverERROR:FailedtoS。这个错误通常表示Docker无法创建名为"docker_default"的网络。本文将解释此错......