【docker】将已有mysql脚本导入镜像内使用

  1. 准备SQL脚本

    将SQL脚本(如init.sql)放在宿主机目录下,例如:/path/to/sql-scripts/init.sql

  2. 启动MySQL容器并挂载脚本

    使用 -v 参数将SQL脚本挂载到容器的初始化目录:

    docker run --name mysql-container
    -e MYSQL_ROOT_PASSWORD=your_password
    -e MYSQL_DATABASE=your_db
    -p port:3306 \ //将宿主机端口映射到容器内的3306端口
    -v /path/to/sql-scripts:/docker-entrypoint-initdb.d/init.sql
    -d mysql:tag

  • 关键参数

    • -v /path/to/sql-scripts:/docker-entrypoint-initdb.d:将宿主机目录挂载到容器初始化目录(容器启动时会自动执行该目录下所有 .sql.sh 文件)。

    • -e MYSQL_DATABASE=your_db:可选,创建默认数据库。

      复制代码
      docker run --name mysql-db \
        -e MYSQL_ROOT_PASSWORD=123456 \
        -e MYSQL_DATABASE=myapp \
        -p port:3306 \ //将宿主机端口映射到容器内的3306端口
        -v ./sql-scripts:/docker-entrypoint-initdb.d/init.sql \
        -d mysql:8.0
相关推荐
小p1 天前
docker学习7:docker 容器的通信方式
docker
小p1 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p1 天前
docker学习3:docker是怎么实现的?
docker
于眠牧北1 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
小p2 天前
docker学习: 2. 构建镜像Dockerfile
docker
小p3 天前
docker学习: 1. docker基本使用
docker
Turnip12023 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
崔小汤呀3 天前
Docker部署Nacos
docker·容器
缓解AI焦虑3 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器
1candobetter4 天前
Docker Compose Build 与 Up 的区别:什么时候必须重建镜像
docker·容器·eureka