相当于在docker-compose.yml文件中指定数据库的架构。
数据库/ Dockerfile
FROM mysql:5.7
COPY ./schema.sql /docker-entrypoint-initdb.d/
docker-compose.yml
services:
database:
image: "mysql:5.7"
container_name: "mysql"
ports:
- "6603:3306"
尝试
我尝试了以下方法。有可能吗?
version: '3'
services:
database:
image: "mysql:5.7"
container_name: "mysql"
ports:
- "6603:3306"
command: --init-file /database/schema.sql
volumes:
- ./init.sql:/database/schema.sql
答案 0 :(得分:1)
因此,您在主机文件系统上的某个位置有schema.sql
,我们假设它位于./database/schema.sql
上。然后,您应该有一个这样的撰写文件:
version: '3'
services:
database:
image: "mysql:5.7"
container_name: "mysql"
ports:
- "6603:3306"
volumes:
- ./database/schema.sql:/docker-entrypoint-initdb.d/init.sql
此图像不支持任何--init-file
命令。相反,它接受放在目录/docker-entrypoint-initdb.d
下的初始化脚本。