docker容器时间和主机时间不同步
2023-07-05 09:26 ly772186472 阅读(971) 评论(0) 编辑 收藏 举报1.docker run
-v /etc/localtime:/etc/localtime # 实例 docker run -p 3306:3306 --name mysql -v /etc/localtime:/etc/localtime
2.Docker file
# 方法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
eg:docker cp /etc/localtime 541cbc306df8:/etc/localtime
#第一种方式(推荐): environment: TZ: Asia/Shanghai #第二种方式: environment: SET_CONTAINER_TIMEZONE=true CONTAINER_TIMEZONE=Asia/Shanghai #第三种方式: volumes: - /etc/timezone:/etc/timezone - /etc/localtime:/etc/localtime
4.宿主机直接执行命令给某个容器同步时间
# 方法1:直接在宿主机操作 docker cp /etc/localtime 【容器ID或者NAME】:/etc/localtime docker cp /usr/share/zoneinfo/Asia/Shanghai 【容器ID或者NAME】:/etc/localtime # 方法2:登录容器同步时区timezone ln -sf /usr/share/zoneinfo/Asia/Singapore /etc/localtime
注意:这种方式需要重启容器
docker exec -it 70ec41893d66 /bin/bash
回车后输入date验证即可