美文网首页
Docker 镜像运行时区不准确处理方法

Docker 镜像运行时区不准确处理方法

作者: whgfu | 来源:发表于2018-12-21 10:45 被阅读0次

    启动 tomcat 容器时发现容器时间与本地时间不一致,相差 8 个小时

    docker run -d --rm -p 8888:8080 tomcat:latest
    
    # 查看容器 ID
    docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
    94855160f395        tomcat:latest       "catalina.sh run"   3 seconds ago       Up 2 seconds        0.0.0.0:8888->8080/tcp   determined_chandrasekhar
    
    # 进入容器查看时间
    docker exec -it 94855160f395 /bin/bash
    root@94855160f395:/usr/local/tomcat# date
    Wed May  9 03:10:55 UTC 2018
    root@94855160f395:/usr/local/tomcat# exit
    exit
    
    # 关闭容器
    docker stop 94855160f395
    94855160f395
    

    添加 -v /etc/localtime:/etc/localtime 参数重新启动容器

    docker run -d -v /etc/localtime:/etc/localtime --rm -p 8888:8080 tomcat:latest
    
    # 再次进入容器查看时间
    docker exec -it f232d09a5 /bin/bash
    
    root@f232d09a5d79:/usr/local/tomcat# date
    Wed May  9 11:11:48 CST 2018
    

    其实还有另外一种方法:直接在制作Dockerfile文件中设置为我们的时区就可以

    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    

    相关文章

      网友评论

          本文标题:Docker 镜像运行时区不准确处理方法

          本文链接:https://www.haomeiwen.com/subject/ehseqqtx.html