使用数据库或者开发的过程中经常会用到系统时间,容器可能与主机并不一致,记录一下两种常用的解决方法。

开发时

经常会更新容器,配置成文件比较方便。

我这边经常使用docker-compose.yml配置,如下

version: "3"
services: 
  [服务名称]: 
    image: [镜像名称]
    ports:
      - 5000:80
    volumes: 
      - /etc/localtime:/etc/localtime
    restart: always
    container_name: [容器名称]

数据库时

经常不怎么更新容器,使用命令修改即可。

执行操作即可

docker cp /usr/share/zoneinfo/Asia/Shanghai [容器ID或者NAME]:/etc/localtime

进入容器

docker exec -it [容器ID或者NAME] /bin/bash

在容器里面

exit # 退出

查看时间

date

操作日志

[root@VM-4-14-centos ~]# docker exec -it e3 /bin/bash
root@e3347d97c4da:/# date
Thu Mar 10 07:37:07 UTC 2022
root@e3347d97c4da:/# exit
exit
[root@VM-4-14-centos ~]# docker cp /usr/share/zoneinfo/Asia/Shanghai e3:/etc/localtime
[root@VM-4-14-centos ~]# docker exec -it e3 /bin/bash
root@e3347d97c4da:/# date
Thu Mar 10 15:37:28 CST 2022
root@e3347d97c4da:/# exit
exit