修改Docker容器时间,时区问题修改

通过Dockerfile或者docker-compose创建容器后,有时候忘记时区问题,查看容器日志时,发现时区不对,需要修改,这时候不可能再重新构建容器,只能手动修改容器内时区,修改容器内时区也比较简单。

首先我们知道在Liux系统中,在/usr/share/zoneinfo/Asia
此处对应东八区时间,目录中存放着时区文件,/etc/localtime
中存放着配置文件,我们只需要将宿主机的/usr/share/zoneinfo/Asia/Shanghai
文件通过软链接或者直接复制到容器内部。建议直接复制到容器内部,因为好多容器应用的是base系统,内部缺少/usr/share/zoneinfo/Asia
目录,我们就直接进入容器创建目录,并将宿主机对应文件拷贝到容器内。

进入容器,建立目录

docker exec -it [容器ID或容器名] /bin/sh
mkdir -p /usr/share/zoneinfo/Asia

在宿主机将时区文件拷贝至容器内目录

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

在容器内将文件拷贝到etc目录,如有提示按’Y’覆盖

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

此时,在容器内查看时间为修改时区后的时间

date -R

1.以root身份进入容器
docker exec -it -u root 24795ac94ae7 /bin/sh
1
可以使用date -R 查看时间

2.在容器中创建文件
mkdir -p /usr/share/zoneinfo/Asia

3.回到宿主机,复制宿主机里的文件到容器中
docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID或容器名:/usr/share/zoneinfo/Asia

4.进入容器
docker exec -it -u root 容器Id或容器名 bash

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

5.执行date -R 查看时区显示时间是否正确

docker cp -L /usr/share/zoneinfo/Asia/Shanghai 容器名:/etc/localtime

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值