mysql docker 设置时区
时间: 2024-11-17 09:13:36 浏览: 26
MySQL Docker 容器设置时区通常涉及到两个步骤:配置容器内部的时区和映射主机系统的时区到容器中。以下是设置过程:
1. **配置容器内部时区**:
- 在Dockerfile中添加如下命令,用于安装MySQL并设置时区。假设你想将时区设为`UTC`:
```dockerfile
RUN apt-get update && apt-get install -y tzdata mysql-server && rm -rf /var/lib/apt/lists/*
RUN sed -i 's/#TZ=\"UTC\"/TZ=\"UTC\"/' /etc/mysql/conf.d/timezone.cnf
```
这里使用`tzdata`包来安装时区数据,并修改`timezone.cnf`文件,使其默认使用UTC。
2. **映射主机时区到容器**:
- 如果你想让容器内的MySQL使用主机系统的时区,可以在运行容器时使用环境变量`MYSQL_TIMEZONE`,例如:
```
docker run -e MYSQL_TIMEZONE=$(timedatectl get-timezone) -d mysql:tag
```
`timedatectl get-timezone`会获取主机的当前时区,然后将其传递给MySQL。
3. **验证设置**:
- 启动容器后,可以登录MySQL并检查时区是否已更改:
```
docker exec -it your_container_name mysql -u root
SHOW VARIABLES LIKE '%time_zone%';
```
阅读全文