docker-compose部署设置东八时区上海时间

前言
部署的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容器时,就不需要设置这些参数。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章