要使Docker容器的时间与主机同步,有几种常用方法:
--volume
挂载主机的/etc/localtime
docker run -v /etc/localtime:/etc/localtime:ro [其他参数] 镜像名
--timezone
参数(部分镜像支持)docker run -e TZ=Asia/Shanghai [其他参数] 镜像名
docker run --privileged --rm alpine date
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone
--volumes-from
共享时间(适用于多个容器)docker run --name timekeeper --rm -v /etc/localtime:/etc/localtime:ro alpine sleep infinity
docker run --volumes-from timekeeper [其他参数] 镜像名
docker cp /etc/localtime 容器ID:/etc/localtime
tzdata
包才能修改时区spec.containers.env
设置TZ
环境变量以上方法可以根据您的具体需求选择使用,通常方法1或2是最简单直接的解决方案。