docker容器时间不对及java程序时间不对解决

使用docker容器部署的应用,会出现时间与主机不一致的情况

1. 容器时间与主机差8个小时:主机的与容器的/etc/localtime不一致

解决方法:挂载主机的/etc/localtime,如果没有则cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2. 如果里面运行的是java程序,哪么程序时间还是会8个小时的差别:主要是Java或取时间是从/etc/timezone里获取时区

解决方法:挂载主机的/etc/timezone,如果没有则新建echo "Asia/shanghai" > /etc/timezone;

或者是通过jvm参数将时区信息传进jvm里:-Duser.timezone=GMT+08

示例:

jenkins:
        image: jenkins/jenkins:lts-alpine
        user: "1000:1000"
        volumes:
            - /home/lobin/jenkins:/var/jenkins_home
            - /etc/localtime:/etc/localtime:ro
            - /etc/timezone:/etc/timezone:ro

原文地址:https://www.cnblogs.com/lobin/p/10581964.html

时间: 2024-10-07 01:12:16

docker容器时间不对及java程序时间不对解决的相关文章

Docker容器中安装新的程序

在容器里面安装一个简单的程序(ping). 之前下载的是ubuntu的镜像,则可以使用ubuntu的apt-get命令来安装ping程序:apt-get install -y ping. $docker run ubuntu apt-get install -y ping 注意:在执行apt-get 命令的时候,要带上-y参数.如果不指定-y参数的话,apt-get命令会进入交互模式,需要用户输入命令来进行确认,但在docker环境中是无法响应这种交互的.

工作了3年的JAVA程序员应该具备什么技能?(zhuan)

http://www.500d.me/article/5441.html **************************************** 来源:五百丁 作者:LZ2016-03-18 因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章.这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发的,因此有一部分内容也是专门面向咱们Java程序员的. 简单先说一下,LZ坐标杭州,13届本科毕业,算上年前在阿里巴巴B2B事业部的面试,一共有

有2-3年经验的java程序员需要掌握的东西有哪些?

前言 因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章.这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发的,因此有一部分内容也是专门面向咱们Java程序员的. 简单先说一下,LZ坐标杭州,13届本科毕业,算上年前在阿里巴巴B2B事业部的面试,一共有面试了有6家公司(因为LZ不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少),其中成功的有4家,另外两家失败的原因在于: 1.阿里巴巴B2B事业部的面试,两轮技术面试都过了,最后一轮

在Docker容器中部署Web应用

本文直接讲解如何在Docker容器中实战部署一个Web应用程序,关于Docker相关的概念和如何安装Docker请参考相关资料完成. 第一步:工具准备 演示如何在Docker容器中部署一个Java Web应用程序,需要准备的软件工具包括:jre,tomcat和webapp应用.另外,为了实现在容器启动时自动启动webapp,需要编写一个脚本工具完成该工作. 安装jre,请参考:http://www.wikihow.com/Install-Java-on-Linux 安装tomcat,请参考:ht

Java 程序优化 (读书笔记)

--From : JAVA程序性能优化 (葛一鸣,清华大学出版社,2012/10第一版) 1. java性能调优概述 1.1 性能概述 程序性能: 执行速度,内存分配,启动时间, 负载承受能力. 性能指标: 执行时间,CPU时间,内存分配,磁盘吞吐量,网络吞吐量,响应时间. 优化策略: 木桶原理,优化性能瓶颈. 1.2 性能调优的层次 设计调优, 代码调优, JVM调优, 数据库调优, 操作系统调优. 2. 设计优化 2.1 善用设计模式 单例模式: 对于巨大对象,节省创建对象的时间空间: 代理

Docker 容器整合 Spring Boot 应用

在本文中,我们将重点介绍如何对 Spring Boot 应用程序进行 Docker 容器化以在独立的环境(即容器)中运行它. 此外,我们还会展示如何创建容器的集成,它们彼此依赖并在虚拟专用网络中彼此链接.我们还能看到如何通过单个命令进行统一管理. 那么我们先来创建一个运行在 Alpine Linux 的基于 Java 的轻量级基础映像. 基础镜像构建 我们将使用 Docker 独有的编译文件格式: Dockerfile. Dockerfile 是一个面向行的批处理文件,包含建立一个镜像的命令.将

Docker学习笔记 — Docker容器

1. 基本概念 Docker利用容器运行应用,容器是从镜像创建的运行实例,每个容器都是相互隔离的. 镜像是只读的,容器在启动的时候在其上创建了一层可读写层. 2. 启动和终止容器 启动一个容器有两种方法,一种是从镜像创建一个容器并运行,另一种是重新启动处于终止状态的容器. 创建并启动 使用docker run命令从镜像创建并启动一个容器. 使用docker run命令创建容器时,后台执行的操作包括: - 检查本地是否存在该镜像,不存在就先从公有仓库下载 - 利用镜像创建并启动一个容器 - 分配一

在容器中安装新的程序

简介:在docker容器中安装新的程序. 在容器中安装新的程序 目标: 提示: 正确的命令: 在容器中安装新的程序 下一步我们要做的事情是在容器里面安装一个简单的程序(ping).我们之前下载的tutorial镜像是基于ubuntu的,所以你可以使用ubuntu的apt-get命令来安装ping程序:apt-get install -y ping. 备注:apt-get 命令执行完毕之后,容器就会停止,但对容器的改动不会丢失. 目标: 在learn/tutorial镜像里面安装ping程序. 提

如何使用Docker部署一个Go Web应用程序

熟悉Docker如何提升你在构建.测试并部署Go Web应用程序的方式,并且理解如何使用Semaphore来持续部署. 简介 大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版和配置文件.而当一个项目中有很多文件的时候,由于很多文件没有同步就会导致错误的发生并且产生很多的问题. 在本教程中,你将学习如何使用Docker部署一个Go web应用程序,并且认识到Docker将如何改进你的开发工作流及部署流程.各种规模的团队都会从这里所介绍的设置中受益. 目标 在本文结束后,你