1:宿主机直接执行命令给某个容器同步时间:
###sudo docker cp /etc/localtime 【容器ID或者NAME】:/etc/localtime ###sudo docker cp -L /usr/share/zoneinfo/Asia/Shanghai 【容器ID或者NAME】:/etc/localtime
2: docker-compose 设置docker 与宿主机同步时间
#第一种方式(推荐):
environment: TZ: Asia/Shanghai #第二种方式:
environment: SET_CONTAINER_TIMEZONE=true CONTAINER_TIMEZONE=Asia/Shanghai #第三种方式:
volumes: - /etc/timezone:/etc/timezone - /etc/localtime:/etc/localtime
3:DockerFile 设置docker 与宿主机同步时间
# 方法1 # 添加时区环境变量,亚洲,上海
ENV TimeZone=Asia/Shanghai # 使用软连接,并且将时区配置覆盖/etc/timezone
RUN ln -snf /usr/share/zoneinfo/$TimeZone /etc/localtime && echo $TimeZone > /etc/timezone # 方法2 # CentOS
RUN echo "Asia/shanghai" > /etc/timezone # Ubuntu
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
在完成后,再通过 date 命令进行查看当前时间,如果未同步,重启Docker容器