[英]Running SQL script in Docker container
當我使用 docker 創建 MariaDB 數據庫時,我想使用 ddl 和 dml 運行 sql 文件。 我已經在我的 docker-compose 文件中指定了我的根目錄中的文件,如下所示。
volumes:
- "./scripts/init.sql:/docker-entrypoint-initdb.d/1.sql"
但是,當我運行 docker-compose up 命令時,它只創建沒有表和數據的數據庫,我應該如何填充數據庫。 我找不到任何有用的資源。
編輯我嘗試了一個小的 sql 文件,只包含這個 ddl,但仍然沒有創建任何內容。
CREATE TABLE `ALARM_A` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`version` bigint(20) NOT NULL,
`creation_date` datetime NOT NULL,
`is_new` bit(1) NOT NULL,
`order_id` bigint(20) NOT NULL,
PRIMARY KEY (`id`)
)
如果我在scripts/init.sql
中有你的示例 SQL 腳本,並且我使用這個docker-compose.yaml
version: "3"
services:
mariadb:
image: mariadb:10
volumes:
- "./scripts/init.sql:/docker-entrypoint-initdb.d/1.sql"
environment:
MARIADB_ROOT_PASSWORD: secret
MARIADB_DATABASE: example
然后我docker-compose up
后等待初始化完成,我看到:
$ docker-compose exec mariadb mysql -psecret example -e "show tables"
+-------------------+
| Tables_in_example |
+-------------------+
| ALARM_A |
+-------------------+
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.