【docker】将已有mysql脚本导入镜像内使用
-
准备SQL脚本
将SQL脚本(如init.sql
)放在宿主机目录下,例如:/path/to/sql-scripts/init.sql
-
启动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
-