在宿主机和容器内同时执行date命令获取时间
date
可以看到宿主机和容器内的时间一致
在宿主机修改时间
date -s "2022-01-01 12:00:00"
在宿主机和容器内同时执行date命令获取时间
date
可以看到时间都修改为了2022年
在宿主机执行命令将时间修改回去
sudo date -s "$(curl -s http://worldtimeapi.org/api/timezone/Etc/UTC | jq -r '.datetime' | sed -e 's/\(.*\)T\(.*\)\..*Z/\1 \2 UTC/' | xargs -I {} date -d {} '+%Y-%m-%d %H:%M:%S')"
时间命名空间 (Time Namespaces):从 Linux 内核 5.6 开始,引入了时间命名空间,可以实现更精细的时间隔离。使用时间命名空间,可以为每个容器设置不同的时间。需要注意的是,这项功能需要宿主机内核支持,并且 Docker 也需要相应的支持。