乐趣区

关于docker:Docker-笔记-Docker-容器和宿主机时间同步

Docker 有个很不敌对的设定,就是没有默认将容器和宿主机进行工夫同步。

别离来查看一下宿主机和容器的工夫,通常 容器的工夫比宿主机要慢 8 小时

[root@k8s-master conf]# date
2022 年 03 月 31 日 星期四 17:08:00 CST

[root@k8s-master conf]# docker exec -it 06dd47f16a43 bash -c "date"
Thu Mar 31 08:58:58 UTC 2022

所以须要手动设置二者的工夫同步。

总共有三种状况须要设置工夫同步,别离是:

  • 正在运行的容器
  • 自定义容器镜像
  • 应用第三方镜像

接下来看看这三种状况的解决形式。

1、对于曾经运行中的容器的解决形式:将宿主机的 /etc/localtime 文件复制给容器。

[root@k8s-master conf]# docker exec -it 06dd47f16a43 bash -c "ls -l /usr/share/zoneinfo/Asia/Shanghai"
-rw-r--r--. 1 root root 582 Jan 26  2021 /usr/share/zoneinfo/Asia/Shanghai

再来查看二者的工夫,曾经同步了:

[root@k8s-master conf]# docker exec -it 06dd47f16a43 bash -c "date"
Thu Mar 31 17:11:17 CST 2022
[root@k8s-master conf]#
[root@k8s-master conf]# date
2022 年 03 月 31 日 星期四 17:11:18 CST

2、如果是自定义的镜像,倡议在 dockerfile 中就提前解决好。以 CentOS 为例,增加如下配置:

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

3、如果是应用第三方的镜像创立容器,倡议 创立容器时应用 -v 参数让容器应用宿主机的 /etc/localtime 文件。如下所示:

docker run --name < 容器名称 > -v /etc/localtime:/etc/localtime
退出移动版