【发布时间】:2016-03-07 13:33:15
【问题描述】:
我正在尝试在 docker 上托管一个使用 MySQL db 的应用程序。我正在使用 docker compose。我的 yml 文件如下所示:
version: '2'
volumes:
data_sql:
services:
medical-mysql:
image: mysql
hostname: medical-mysql
volumes:
- data_sql:/dbcreation.sql
environment:
MYSQL_DATABASE: Medical
MYSQL_ROOT_PASSWORD: root
STARTUP_SQL: data_sql
ports:
- "3306:3306"
medical-main:
build: .
ports:
- "8080:8080"
depends_on:
- medical-mysql
我有一个dbcreation.sql,它创建了 db 模式并保存在 yml 文件夹中。当我运行 yml 文件时,似乎该文件没有运行。
我错过了什么?
【问题讨论】:
-
那么什么是 data_sql 以及何时调用 dbcreation.sql ?
-
data_sql 只是我为托管创建文件而创建的卷。我找不到任何其他方法可以做到这一点,而且这个也行不通。
-
看来您正在 dbcreation.sql 中安装 data_sql。你永远不会创建数据库。你需要复制 /var/lib/mysql (而不是 dbcreation.sql 如果你想使用它,你需要执行类似的东西:mysql -u user db
标签: mysql docker-compose