我想创建一个MySQL Docker映像,其中的数据已经填充.

我想创建3个这样的层:

        |---------------------|---------------------|
Layer 3 | Customer 1 Database | Customer 2 Database |
        |---------------------|---------------------|
Layer 2 |   Database image with tables but no data  |
        |-------------------------------------------|
Layer 1 |                mysql:5.6.26               |
        |-------------------------------------------|

我现在的问题是如何为第2层和第3层创建正确的Dockerfile? 其中,我的Empty_with_tables.sql文件加载到第2层,customer1.sql和customer2.sql加载到第3层的两个映像中.我读到了一些关于将SQL文件放入‘/docker-entrypoint-initdb.d’中的内容.但这将导致数据是第一次启动映像时的数据.这不是我想要的.我希望数据在映像中准备就绪(例如,在测试中快速可用).

我可以启动MySQL映像,从命令行加载数据,然后执行"COMMIT",但这是不可重现的,当SQL文件中的数据发生更改时,需要再次执行此操作.

怎样才能做到这一点呢?

推荐答案

因此,我对此问题的解决方案不是对所有内容进行分层,而是创建一个基本映像,并使用卷从仅包含数据的容器中注入数据库文件.

Database相关问答推荐

如何调试Anylogic SQL数据库TLS错误?

从仅连接器电源查询制作图表

实体关系图. IS A 关系如何转换为table表?

一个强大的 MySQL 管理工具,具有与 SQL Server Management Studio 类似的功能

什么是Open Schema的数据库?

使用python为组中的每个元素添加一个序列号

对百万行表,MySQL 的 LIKE 查询的性能怎样?

关系数据库如何在幕后工作?

我需要在这个 Django 模型中添加一个 db_index 吗?

避免从网站数据库中data scraping数据抓取?

来自外部源的 Django 用户和身份验证

是否有一个 postgres 命令来列出/删除所有materialized视图?

Oracle (ORA-02270) : no matching unique or primary key for this column-list error

conflict serializable和conflict equivalent有什么区别?

用 SQL 进行条件插入?

为 django 模型自动创建数据的工具

如何更正此 sql 连接上的相关名称?

如何在数据库中表示树状 struct

使用 oracle sql developer 从一个数据库复制到另一个数据库 - 连接失败

如何将 mongodb 数据库转移到另一台看不到第一个的机器上