GardenHamster/GenshinPray

关于容器化的一些想法

AlisaAkiron opened this issue · 1 comments

最近也是在搞一个 .NET 项目,容器化,官方的文档是在容器中编译,然后COPY到运行时容器中打包运行。

我的做法是是容器外打包成对应平台的二进制,然后 Dockerfile 里面直接把打包好的文件复制进容器,比官方那种方式配置起来简单。

但是容器化运行最好做成完全自动的那种,现在第一次运行前还要手动导入数据。最优方式当然是用docker-compose一起启动两个容器,然后 .NET 程序运行时检查一下数据库里面有没有东西,没东西就导入 sql 文件,省去手动操作这一步。

你用的 Sqlsurger 我没怎么了解过(EFCore 用的比较多),基本思路是,在 .NET 容器里装 mysqldump,然后运行时,在构建 WebApplication 之后直接建立一个 Scope 然后创建一个 DbContext,检查数据库里面有没有东西,没东西就运行 mysqldump 把数据导入进去。

容器化这部分我也是刚接触不久,不知思路是否正确,可以探讨一下(

最近搞的项目:https://github.com/MaaAssistantArknights/MaaDownloadServer

只不过这个是 Sqlite,也无初始数据(

膜拜大佬,因为这个项目每两个星期左右初始数据就会多出来几条,所以还没有往用程序导入这个方向去想