Kusch's blog Kusch's blog
首页
Java
框架
部署与运维
数据库
  • 我的电脑
  • 科学技巧
  • 杂文铺
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Mr.Kusch

入门前把门拆了的程序猿一枚
首页
Java
框架
部署与运维
数据库
  • 我的电脑
  • 科学技巧
  • 杂文铺
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Linux常用操作

  • Docker部署

  • 常规部署

    • Linux安装Java环境
    • Linux安装Nginx
    • Linux安装Docker
    • Linux与Docker的时区
    • 部署与运维
    • 常规部署
    Mr.Kusch
    2023-05-30
    目录

    Linux与Docker的时区

    # Linux主机同步网络时间

    • 手动同步一次机器时间
     yum install -y ntpdate && ntpdate -u ntp1.aliyun.com
    
    1
    • 加入Linux定时任务执行
    echo "*/20 * * * * /usr/sbin/ntpdate -u ntp1.aliyun.com >/dev/null &" >> /var/spool/cron/root
    
    1

    # Linux和docker容器的时区不一致

    date -R                          //查看linux主机时间和时区
    docker exec [container] date -R    // 查看容器时间和时区
    
    1
    2

    # 解决方法:

    1. 利用Dockerfile创建镜像时。在Dockerfile中加入
    ENV TIME_ZONE=Asia/Shanghai 
    RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone
    
    1
    2
    1. 容器创建时。加入时区挂载选项:-v /etc/localtime:/etc/localtime,例如:
    docker run -d -p 6379:6379 -v /etc/localtime:/etc/localtime --name test-redis redis
    
    1
    1. 容器已启动时
    docker exec -it 容器名 /bin/bash  
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  
    docker restart 容器名  
    docker exec 容器名 date -R  
    
    1
    2
    3
    4

    举个例子: 解决一个容器的和Linux时区不一致问题:

    //1、把当前宿主机的时区信息复制到一个容器中
    docker cp /usr/share/zoneinfo/Asia/Shanghai 容器名称或Id:etc/localtime
     
    //2、重启服务即可
    docker restart 容器名称或Id
    
    1
    2
    3
    4
    5
    编辑 (opens new window)
    上次更新: 2023/05/30, 06:56:38
    Linux安装Docker

    ← Linux安装Docker

    最近更新
    01
    Docker部署RocketMQ
    08-28
    02
    Docker部署MySQL主从
    08-24
    03
    分库分表
    08-23
    更多文章>
    Theme by Vdoing | Copyright © 2023-2023 Mr.Kusch | MIT License | 苏ICP备20030181号-1
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式