docker mysql设置时区_Docker 中 MySQL容器时区不对,导致插入的时间不准确
时间: 2024-05-04 11:19:43 浏览: 86
在 Docker 中,MySQL 容器时区不对,导致插入的时间不准确的问题可以通过以下方法解决:
1. 在 MySQL 容器中安装 tzdata 包,使用 apt-get 命令安装:
```bash
RUN apt-get update && apt-get install -y tzdata
```
2. 设置容器的时区,将时区文件挂载到容器内部:
```bash
-v /etc/localtime:/etc/localtime:ro
-v /etc/timezone:/etc/timezone:ro
```
或者使用环境变量设置时区:
```bash
-e TZ=Asia/Shanghai
```
3. 修改 MySQL 配置文件中的时区设置:
```bash
[mysqld]
default-time-zone = '+8:00'
```
或者在启动容器时,使用命令行参数设置时区:
```bash
docker run -d -e "TZ=Asia/Shanghai" --name mysql mysql
```
设置完成后,重启 MySQL 容器即可生效。
另外,如果使用的是 Docker Compose,可以在 docker-compose.yml 文件中添加以下配置:
```yaml
services:
mysql:
image: mysql
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
environment:
TZ: Asia/Shanghai
command: --default-time-zone=+8:00
```
阅读全文