logo
0
0
WeChat Login

MySQL Docker 镜像

这是一个 MySQL 8.0 的 Docker 镜像配置项目。

快速开始

使用 Docker Compose(推荐)

# 构建并启动容器
docker-compose up -d

# 查看日志
docker-compose logs -f mysql

# 停止容器
docker-compose down

# 停止并删除数据卷
docker-compose down -v

使用 Docker 命令

# 构建镜像
docker build -t my-mysql:latest .

# 运行容器
docker run -d \
  --name mysql-container \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=rootpassword \
  -e MYSQL_DATABASE=mydb \
  -e MYSQL_USER=myuser \
  -e MYSQL_PASSWORD=mypassword \
  -v mysql_data:/var/lib/mysql \
  my-mysql:latest

配置说明

环境变量

  • MYSQL_ROOT_PASSWORD: MySQL root 用户密码(默认: rootpassword)
  • MYSQL_DATABASE: 自动创建的数据库名称(默认: mydb)
  • MYSQL_USER: 自动创建的用户名(默认: myuser)
  • MYSQL_PASSWORD: 自动创建用户的密码(默认: mypassword)

端口映射

  • 3306:3306 - MySQL 服务端口

数据持久化

数据存储在 Docker volume mysql_data 中,确保数据不会因容器删除而丢失。

初始化脚本

将 SQL 初始化脚本放在 init-scripts/ 目录下,容器首次启动时会自动执行。

连接信息

  • 主机: localhost
  • 端口: 3306
  • Root 用户: root
  • Root 密码: rootpassword
  • 数据库: mydb
  • 普通用户: myuser
  • 普通用户密码: mypassword

常用命令

# 进入 MySQL 容器
docker exec -it mysql-container bash

# 连接 MySQL
docker exec -it mysql-container mysql -uroot -prootpassword

# 备份数据库
docker exec mysql-container mysqldump -uroot -prootpassword mydb > backup.sql

# 恢复数据库
docker exec -i mysql-container mysql -uroot -prootpassword mydb < backup.sql

安全建议

⚠️ 生产环境使用前,请务必修改以下内容:

  1. 修改所有默认密码
  2. 使用强密码策略
  3. 限制网络访问
  4. 定期备份数据
  5. 更新 MySQL 版本以获取安全补丁

About

mysql容器快速构建启动

Language
Dockerfile100%