前言 部署的docker容器一定要是东八时区,才不至于导致程序部署时间错误,从而引起简单而又致命的错误。
配置 宿主机配置东八时区 详见: centos7下配置中国时区
docker-compose.yml文件配置东八时区上海时间 version: "3.5" services: mysql: image: mysql:5.7 environment: #设置东八时区上海时间 - SET_CONTAINER_TIMEZONE=true - CONTAINER_TIMEZONE=Asia/Shanghai volumes: #挂载宿主机东八时区 - /etc/localtime:/etc/localtime:ro 应用示例 version: "3.5" services: mysql: image: mysql:5.7 container_name: mysql5.7 hostname: mysql5.7 ports: - 3306:3306 environment: - MYSQL_DATABASE=nature - MYSQL_USER=nature - MYSQL_PASSWORD=root@1234 - MYSQL_ROOT_PASSWORD=nature@1234 - SET_CONTAINER_TIMEZONE=true - CONTAINER_TIMEZONE=Asia/Shanghai volumes: - /etc/localtime:/etc/localtime:ro - /home//mysql:/var/lib/mysql:Z command: ["--character-set-server=utf8mb4","--collation-server=utf8mb4_unicode_ci","--lower-case-table-names=1"] restart: always tty: true
结语 亦可在Dockerfile文件构建镜像中解决时区的问题,docker run容器时,就不需要设置这些参数。 |