zoukankan      html  css  js  c++  java
  • docker容器时区设置

    这两天遇到一个问题,开始时使用docker都没注意,使用.net的docker时候默认时区是格林威治时间,这其实导致了不少问题,代码使用格林威治时间,我的数据库因为没有使用docker时间又是东八区,然后各种判断出错。哈哈。

    其实这类文章很多,网上随便百度了一下就有,我就是参照这个地址:https://blog.csdn.net/liuwei0376/article/details/95061844

    但是这里其实这里我遇到了不少问题。我在yml文件里面添加了environment参数,但是依然没效果,后面我发现,妈的,我在TZ的参数后面加了引号导致失效。去掉就好了。,这里解决了,其他的方法我就没试了,按逻辑来说,在dockerfile里面修改时区应该跟使用Linux命令修改时区一样,只要依次执行命令应该就行了。

    贴一下自己修改后的yml文件,修改时区的主要代码就是environment参数

      lot-webapi: 
        build: ./docker-app/webapi/
        restart: always
        container_name: lot-webapi
        environment: 
          - TZ=Asia/Shanghai
        volumes: 
          - "./docker-app/webapi/app:/root/app"
          - "./docker-app/webapi/app/upload:/root/app/upload"
          - "./docker-app/webapi/app/logs:/root/app/logs"
          - "./docker-app/webapi/fonts:/usr/share/fonts"
        ports: 
          - "9001:8000"
        depends_on:
          - lot-rabbitmq
        links: 
    #      - lot-db
            - lot-redis
            - lot-rabbitmq
        entrypoint: 
          - dotnet
          - /root/app/LotteryTicket.Web.dll
    

     同事在dockerfile里面修改时区的代码:

     不同的基础镜像使用的命令其实也不一样

    我的Nginx容器使用的alpine,所以修改命令:(参考文章:https://www.jianshu.com/p/cd1636c94f9f

    #时区问题
    #RUN apk add -U tzdata && rm -rf /etc/localtime && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone 
    

      其实就是多了一把安装时区的数据包

    我的api容器修改时区:

    #时区问题
    #RUN rm -rf /etc/localtime && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone 
    

      

  • 相关阅读:
    rsync命令 SCP命令
    Linux 性能分析 工具命令
    ntp时间服务器 时间同步
    Linux 邮件服务
    linux 手工释放内存 高内存 内存回收 方法思路
    LVM 逻辑卷 (logica volume manager)
    Linux 磁盘原理与管理 (分区 挂载)
    linux中查看nginx、apache、php、mysql配置文件路径
    shell脚本 监控ps 不存在则重启
    Shell脚本 一键重启
  • 原文地址:https://www.cnblogs.com/txb1989/p/12784950.html
Copyright © 2011-2022 走看看