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容器時,就不需要設置這些參數。

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