部署一个jenkins服务,发下jenkins时间错误,进入容器
# docker ps -a 获取容器名 下面是jenkins
docker exec -it jenkins /bin/sh
# 输入date 即可查询时间
date
网上查询很多方法:大多数是部署容器的时候处理,这个我没有操作希望今后创建容器加上试试
1)共享主机的localtime
创建容器的时候指定启动参数,挂载localtime文件到容器内,保证两者所采用的时区是一致的。
docker run -ti -d --namenginx -v /etc/localtime:/etc/localtime:ro docker.io/nginx /bin/bash
2)复制主机的localtime
docker cp /etc/localtime jenkins:/etc/localtime
# 这种方法其实不行,有报错,报错其实告诉你怎么处理了
报错如下:
Error response from daemon: Error processing tar file(exit status 1): invalid symlink "/etc/localtime" -> "../usr/share/zoneinfo/Asia/Shanghai"
成功解决方法:
docker cp /usr/share/zoneinfo/Asia/Shanghai jenkins:/etc/localtime
重启容器 :
docker restart jenkins
查询时间与系统已同步:
# docker ps -a 获取容器名 下面是jenkins
docker exec -it jenkins /bin/sh
# 输入date 即可查询时间
date