Docker 容器时间不一致的问题

今天遇到了docker容器内时间和宿主服务器时间不一致的问题,相差正好8小时,这种一般就是docker镜像打包的时候是其他时区。
处理容器内时间有两个方案,分为不重建容器和重建容器,下面分别根据这两种情况进行处理
一、不重建容器(不重新docker run)
1、先进入容器
docker exec -it contain_id /bin/bash
2、修改时区文件
ln -sv /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
3、使用命令 tzselect 选择时区
4、检查容器内 /etc/timezone 文件的时区  (Asia/Shanghai)
5、退出容器,重启容器

二、重建容器,重新docker run
1、先对当前的容器打包为镜像
cd /opt/nurse/gateway && docker build -t nurse/gateway:dev .

2、删除当前容器
docker rm -f  dockerxx-gateway

3、重新对新的镜像进行docker run
在docker run时中加入时区参数,

docker run -d --name nurse-gateway \
-p 9090:9090 \
-e SPRING_PROFILES_ACTIVE=dev \
-e SERVER_PORT=9090 \
-e NACOS_ADDR=nacos_ip:port \
-e NACOS_USERNAME=nacos \
-e NACOS_PASSWORD=nacos_password \
-e NACOS_CONFIG_ENABLED=true \
-v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime \
--restart unless-stopped \
nurse/gateway:dev

版权声明:
作者:admin
链接:https://www.wenzhan.cc/article/429
来源:问站网
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>