我想创建一个已经填充数据的MySQL Docker镜像。如何在构建时创建已填充的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映像,从命令行加载数据并执行“提交”,但这不是可重复的,需要在SQL文件中的数据更改时重新执行。
这怎么办?
最好的问候,
- 莫滕绿满森
您能否提供更多信息?我也想这样做。 – Telokis
@Morten Green请花时间分享您的工作,我们在这里互相帮助。 – Dung