mysql 的 docker 镜像有一个功能:它在「第一次创建并启动容器<small>( 注意,本质是数据卷为空 )</small>时」,会到容器内的 /docker-entrypoint-initdb.d
目录下查看有没有 sql 脚本<small>( .sql 文件 )</small>。如果有,就执行 sql 脚本。因此,你可以通过这个功能来完成数据库的创建等初始化工作。
因此,你可以在某个目录下创建 .sql 脚本<small>(例如 init.sql)</small>,并在其中写上建库、建表等 SQL 语句,未来在 docker run 命令中通过 -v 选项将这个目录映射成 /docker-entrypoint-initdb.d
。
-v ~/docker/3306/script:/docker-entrypoint-initdb.d
网友评论