【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
相关推荐
donoot2 小时前
一次 Nginx 502 问题的深度排查:从 SELinux 到容器网络
nginx·docker·selinux·反向代理·502 bad gateway
heimeiyingwang2 小时前
【架构实战】MySQL索引优化:从慢查询到毫秒响应
数据库·mysql·架构
渣渣灰飞3 小时前
MySQL 系统学习 第二阶段 第四章:DCL(Data Control Language)第二节:权限管理与角色(Role)
数据库·学习·mysql
Sagittarius_A*4 小时前
Docker:渗透前置容器化核心基础
运维·安全·docker·容器
宠友信息4 小时前
多端即时通讯源码技术实践,Redis路由、MySQL持久化与Socket接入
spring boot·websocket·mysql·uni-app
渣渣灰飞4 小时前
MySQL 系统学习 第四阶段:MySQL 高级 第一节:索引(Index)
数据库·学习·mysql
greasyfork6 小时前
多种数据库管理混乱?Navicat Premium 17 for Mac 统一解决
数据库·mysql·macos·mac
名字还没想好☜6 小时前
Docker 多阶段构建:把镜像从 1.2GB 砍到 15MB
运维·docker·容器·多阶段构建·镜像优化
宠友信息7 小时前
Spring Boot与异步审核构建仿小红书源码内容发布全流程
java·数据库·spring boot·redis·mysql·oracle·uni-app
花和满楼7 小时前
K8s 1.36 ImageVolume GA:OCI 镜像不再只能跑容器
java·容器·kubernetes