当前位置: 首页> 健康> 养生 > Docker基础命令(三)

Docker基础命令(三)

时间:2025/8/23 21:29:45来源:https://blog.csdn.net/junjunzai123/article/details/139295528 浏览次数:0次

同步docker容器中的时间和本地时间一致

背景: 在很多时候, 训练模型的时候, 记录的log日志中标记的时间和实际的时间不一致, 往往是容器时间和本地时间不一致照成的.

方案

场景一: 正在运行的容器,可以宿主机直接执行命令给某个容器同步时间
#方法1  直接在宿主机操作
docker cp /etc/localtime 【容器ID或者NAME】:/etc/localtime
docker cp -L /usr/share/zoneinfo/Asia/Shanghai 【容器ID或者NAME】:/etc/localtime#方法2  登录容器同步时区timezone,一般是因为时区不同导致时间差
ln -sf /usr/share/zoneinfo/Asia/Singapore /etc/localtime
场景二: Dockerfile解决方案
# 方法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
场景三:初始化容器时,容器时间与宿主机同步,docker run 添加时间参数
docker  run -itd --privileged=true -v /etc/localtime:/etc/localtime:ro
#实例
docker  run -itd \-e MYSQL_ROOT_PASSWORD=123456 \-v /home/mysql/data:/var/lib/mysql \-v /home/mysql/log:/var/log/mysql \-v /home/mysql/etc/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \-v /etc/localtime:/etc/localtime:ro \--name mysql-server \--network host \--restart=always \--privileged=true \mysql:5.7.37
关键字:Docker基础命令(三)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: