Docker 修改容器内的时区

利用docker发布服务,发现 程序用获取的系统时间比正常时间晚了8个小时

进入容器 docker exec -it /bin/sh

查询时间 date -R

发现时区为0时区

解决思路

1.复制相应的时区文件,替换系统时区文件;

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

发现创建镜像时依赖的基础镜像 运行的容器没有这两个文件

2. 创建文件夹

mkdir -p /usr/share/zoneinfo/Asia

3.回到宿主机

复制 宿主机里的文件到容器中

docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID或容器名:/usr/share/zoneinfo/Asia

4. 进入容器

docker exec -it 容器Id或容器名

执行命令 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

5. 重启容器

原文地址:https://www.cnblogs.com/007sx/p/11191016.html

时间: 2024-10-03 09:05:32

Docker 修改容器内的时区的相关文章

docker修改容器gogs时区时间

问题描述: 公司内部搭建了一个gogs-git,是用docker部署的,但是发现提交的代码什么的时间跟服务器时间不一致 提交上去的世界是UTC时间不是中国的时间CST,相当于慢了8个小时 1.docker容器内的时区是UTC 2.服务器的时区是CTS 解决方法: 一开始以为是gogs配置文件问题,最好发现原来是docker容器的时间问题 gogs服务器时间: [[email protected] ~]# date Fri Oct 19 16:19:19 CST 2018 docker容器的时间:

Docker修改容器的端口映射和挂载路径

原文:Docker修改容器的端口映射和挂载路径 有时候因为某些原因需要修改容器的配置,如端口映射和挂载路径,但是如果删除容器后再重新运行,那么之前在容器内所做的修改就丢失了,本文提供了两种方法,可以在保留修改的同时修改配置参数. 方法一:将容器保存为镜像 1.停止容器 docker stop CONTAINER 2.将容器保存为新的镜像 docker commit CONTAINER NEWIMAGE:TAG 3.启动新的镜像,此时可以重新指定参数 docker run --name CONTA

【Docker】-NO.131.Docker.1 -【Docker 修改容器端口】

Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of Mastery:5 Practical Level:5 Desired Goal:5 Archieve Goal:3 Gerneral Evaluation:3 Writer:kingdelee Related Links: http://www.cnblogs.com/kingdelee/ 方法1

Docker openjdk-8-jdk-alpine 容器时间与jdk时区不同修改方法

测试时发现以 openjdk-8-jdk-alpine 为基础镜像制作的镜像有时区问题.查资料知道 alpine 本身不带时区信息.按以下方法修改后正常获取时间. 一.挂载宿主机的时区到容器 启动命令增加参数 -v /etc/localtime:/etc/localtime 启动容器,进入查看时间正常,时区也已同步.但java应用获取的时间还是差8小时. 继续查找资料 java 获取时区与 linux 系统时区的不同 参考博客 二.设置容器内时区 通过后来不断尝试,修改 localtime 确定

Docker学习笔记(4-3)Docker容器内部署静态网站

设置容器的端口映射 如何访问容器的80端口<--设置端口映射 -P 为所有端口映射 -p 指定映射端口 docker run -p 80 -i -t ubuntu /bin/bash docker run -p 8080:80 -i -t ubuntu /bin/bash docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash #创建映射80端口的交互

Docker容器内不能联网的6种解决方案

Docker容器内不能联网的6种解决方案 注:下面的方法是在容器内能ping通公网IP的解决方案,如果连公网IP都ping不通,那主机可能也上不了网(尝试ping 8.8.8.8) 1.使用--net:host选项 sudo docker run --net:host --name ubuntu_bash -i -t ubuntu:latest /bin/bash 2.使用--dns选项 sudo docker run --dns 8.8.8.8 --dns 8.8.4.4 --name ubu

docker 解决容器时区时间不一致

创建容器的时候设置时区 // 将宿主机的时间与本地时间绑定到容器中 // 添加 -v /etc/localtime:/etc/localtime 启动容器 # docker run -d -v /etc/localtime:/etc/localtime -p 8888:8080 tomcat:latest 启动后的容器修改时区 # docker exec -it <容器名> /bin/bash # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/lo

docker容器内应用检测失败总结

docker容器内应用检测失败故障总结 各位网友,各位同行大家: 今天在云平台中遇到了一个这样一个问题,在云平台上面docker容器中的应用,在监控客户端 中,显示应用检测失败的问题:以下是经常遇到的几个应用检测失败的常见解决办法如下所示: 问题描述:rds产品  docker容器中的应用检测失败:(备注:宿主机运行正常) 解决思路:1.一般情况下如果应用服务检测失败的话,首先查看一下这个应用的进程是否还在 可以使用命令ps -ef | grep +服务名称:查看一下服务的运行状态.查看一下服务

centos7 docker容器(二)运行和移除容器内应用详解

安装.运行和移除docker中的应用 运行和保存Docker容器 1.运行并保存基于Ubuntu Docker容器的nginx服务器.安装Nginx守护进程到Ubuntu启动容器: # docker run ubuntu bash -c "apt-get -y install nginx" 2.其次,在安装完Nginx包后,发出命令 docker ps -l 得到运行容器的ID或名称.运行以下命令: # docker ps -l 运行以下命令获得更改 # docker commit 5