这是我的docker-compose.yml
文件
version: "3.5"
services:
docker-mysql:
image: mysql:5.7
container_name: docker-mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=user_management
- MYSQL_PASSWORD=password
默认数据库已创建“ user_management” ,现在我要执行的文件中包含DDL和DML语句,即DDL语句(创建表)和DML语句(插入几个用户)默认情况下)。不是通过输入bash并手动执行语句,而是通过任何自动docker方式加载包含DDL和DML语句的文件并执行它。
答案 0 :(得分:0)
在mysql dockerhub中,在/docker-entrypoint-initdb.d中找到的扩展名为.sh,.sql和.sql.gz的文件将在容器启动时执行到MYSQL_DATABASE变量指定的数据库。
version: "3.5"
services:
docker-mysql:
image: mysql:5.7
container_name: docker-mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=user_management
- MYSQL_PASSWORD=password
volumes:
- /yourscript:/docker-entrypoint-initdb.d
因此,如上所述,您可以装载卷并在该位置添加DDL和DML脚本。然后mysql将在启动时执行它们。 /yourscript
是脚本的位置