如何将种子数据放入SQL Server docker镜像中?

2024-01-02

我有一个使用 ASP.NET Core 和 SQL Server 的项目。我正在尝试将所有内容放入 docker 容器中。对于我的应用程序,我需要在数据库中有一些初始数据。 我可以使用来自 microsoft (microsoft/mssql-server-linux) 的 docker sql server 映像,但它(显然)是空的。这是我的 docker-compose.yml:

version: "3"
services:
    web:
        build: .\MyProject
        ports:
            - "80:80"
        depends_on:
            - db
    db:
        image: "microsoft/mssql-server-linux"
        environment:
            SA_PASSWORD: "your_password1!"
            ACCEPT_EULA: "Y"

我有一个 SQL 脚本文件,需要在数据库上运行它来插入初始数据。我找到了一个example https://gist.github.com/jschwarty/6f9907e2871d1ece5bde53d259c18d5f对于 mongodb,但我找不到可以使用哪个工具来代替 mongoimport。


您可以通过构建自定义映像来实现此目的。我目前正在使用以下解决方案。你的 dockerfile 中的某个位置应该是:

RUN mkdir -p /opt/scripts
COPY database.sql /opt/scripts

ENV MSSQL_SA_PASSWORD=Passw@rd
ENV ACCEPT_EULA=Y

RUN /opt/mssql/bin/sqlservr --accept-eula & sleep 30  & /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Passw@rd' -d master -i /opt/scripts/database.sql 

或者,您可以等待输出特定文本,这在处理 dockerfile 设置时很有用,因为它是立即的。它的鲁棒性较差,因为它当然依赖于一些“随机”文本:

RUN ( /opt/mssql/bin/sqlservr --accept-eula & ) | grep -q "Service Broker manager has started" \
    && /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Passw@rd' -i /opt/scripts/database.sql

不要忘记将database.sql(带有脚本)放在dockerfile旁边,因为它被复制到图像中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将种子数据放入SQL Server docker镜像中? 的相关文章

  • 如何强制 BundleCollection 刷新 MVC4 中缓存的脚本包

    or 我如何学会停止担忧 只针对 Microsoft 完全未记录的 API 编写代码 有没有官方的实际文档System Web Optimization发布 因为我确实找不到任何内容 没有 XML 文档 而且所有博客文章都引用了 RC AP
  • 获取下一个ID而不插入行

    在 SQL SQL Server 中是否可以在插入行之前从表中的标识列检索下一个 ID 整数 而无需实际插入行 如果删除了最近的行 则这不一定是最高 ID 加 1 我问这个问题是因为我们偶尔需要用新行更新实时数据库 行的 ID 在我们的代码
  • T-SQL 按最旧日期和唯一类别选择行

    我正在使用 Microsoft SQL 我有一个表 其中包含按两个不同类别存储的信息和一个日期 例如 ID Cat1 Cat2 Date Time Data 1 1 A 11 00 456 2 1 B 11 01 789 3 1 A 11
  • 如何在联系我们页面中使用用户电子邮件发送电子邮件?

    我正在创建一个联系我们页面 并且我想从该页面接收邮件 因为它的邮件来自用户邮件 我写了这段代码 var client new SmtpClient smtp gmail com 587 Credentials new NetworkCred
  • 将数据集导出到 EXCEL

    我使用以下代码将数据库表中的字段导出到 Excel 中 我想要做的是能够编写一条 SQL 语句从多个表中检索字段并将其导出到 Excel 中 这段代码只允许我导出一张表 另外 如何显示保存提示对话框 示例代码将不胜感激 非常感谢 prote
  • 实体框架 - 循环更新属性

    我正在尝试找到一种方法来循环 EF 对象的属性并更新这些属性的值 更具体地说 我有 50 个字段 其中最多填充 50 个下拉列表 所有 50 个可能都需要填充 也可能不需要填充 为了解决这个问题 我有一个中继器 最多可以创建 50 个 DD
  • App.Config 和 Web.Config 之间的区别?

    当在 wpf 中构建桌面应用程序时 您可以阅读问题文档并在人们的答案引用 web config 时安全地替换 app config 吗 如果是这样 您是否需要注意任何明显的陷阱 tnx 阅读文档 http msdn microsoft co
  • 无法使用 SMTP 将电子邮件发送到外部域

    我无法将电子邮件发送到外部域地址 例如 电子邮件受保护 cdn cgi l email protection 使用下面的代码 SmtpClient smtpClient new SmtpClient smtpMailServer smtpC
  • Visual Studio 2012 - 数据库发布向导已停止?

    我正在使用 VS 2012 和 SQL Server 2008 刚刚注意到服务器资源管理器中缺少 发布到提供商 选项 据此 数据库发布向导已停止使用 http forums asp net post 5122271 aspx http fo
  • 扁平化/反规范化 SQL 查找表的最佳方法?

    我有很多这样的表 Lookup HealthCheckupRisks ID Name 1 Anemia 2 Anorexic 3 Bulemic 4 Depression 122 Syphilis PatientRisksOnCheckup
  • 仅当所有记录都匹配时 SQL 连接

    我有3张桌子 CP carthead idOrder CP cartrows idOrder idCartRow CP shipping idCartRow idShipping dateShipped 每个 idOrder 可以有多个 i
  • 显示包含特定表的所有数据库名称

    我的 SQL Server 中有很多数据库 我必须只搜索包含特定表名的数据库名称Heartbitmaster 我有很多数据库 例如Gotgold DVD等 我只想从包含此表的查询中查找数据库名称Heartbitmaster 我搜索我尝试查询
  • 如何在 ASP.NET 中实现 PayPal Express Checkout? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我如何在 ASP NET 中创建快速
  • 如何识别 SQL Azure 中的死锁?

    我有一个由两个实例组成的 Windows Azure 角色 有时交易会失败并显示SqlException与以下文字 事务 进程 ID N 在锁资源上与另一个进程发生死锁 并被选为死锁牺牲品 重新运行事务 现在我已经谷歌搜索了一段时间并阅读这
  • 为什么 jar 执行的通配符在 docker CMD 中不起作用?

    我有一个Dockerfile与以下CMD启动我的 Spring Boot 应用程序 FROM java 8 jre CMD java jar app file jar 当我尝试从创建的图像启动容器时 我得到 Error Unable to
  • ViewModel 的列表在操作中为 null

    我正在开发我的第一个 ASP NET MVC 3 应用程序 我有一个如下所示的视图 model IceCream ViewModels Note NotesViewModel using Html BeginForm Html Valida
  • @RenderBody() 该怎么办?

    我有一个 ASP NET MVC 3 应用程序JQuery UI Tabs 我有一个主布局页面 layout cshtml 代码如下 大师 layout cshtml需要一个 RenderBody 代码 既然是必需的 那我该怎么办呢 我想我
  • SQL Server 返回了不完整的响应。连接已关闭。;嵌套异常是 com.microsoft.sqlserver.jdbc.SQLServerException:

    我们正在将 Spring Batch 应用程序从 Oracle DB 迁移到 Azure SQL Server 该应用程序运行几个小时50线程 下面是我的 JDBC 配置 MSSQL DRIVERCLASSNAME com microsof
  • 在 IIS URL 重写模块中自定义 HTTP 标头

    我被一个简单的出站规则困住了 我想修改HTTP内容类型 to 应用程序 原子 xml 如果 URL 完全匹配http wayneye com Feeds Atom http wayneye com Feeds Atom 我的规则 XML
  • ASP.NET Core 会话超时

    我记得我们在 ASP NET 中使用了 session timeout 来更改会话超时 如果不更改 则为 20 分钟 我尝试在 Startup cs 中更改 ASP NET Core 3 1 中的会话超时 但没有任何反应 我对操作员使用身份

随机推荐

  • 致命错误:在 C:\wamp\www\ 中找不到“Stripe”类

    我收到一个错误 提示找不到类 但我显然有它所在位置的正确路径 我遇到的每一篇文章都声称问题出在 require one include 或 require 中 不包括正确的路径 我已经尝试了所有 3 个 但仍然没有运气 我的数据库调用遵循相
  • 将训练好的 Tensorflow 模型转换为 protobuf

    初始网络中Android Tensorflow 演示 https github com tensorflow tensorflow tree master tensorflow examples android将模型存储为 protobuf
  • 使用通用方法的代码分析警告 CA1004

    我有以下通用方法 Load an object from the disk public static T DeserializeObject
  • 如何从Powershell调用批处理脚本?

    我有一个大批处理脚本 它设置一堆环境变量 我想从 powershell 调用该批处理脚本 这样我就可以获得脚本和 powershell 设置的环境变量的好处 如果你抓住了PowerShell 社区扩展 https github com Ps
  • 延迟限制 http api 调用

    我正在尝试对 REST API 实施一些限制 A典型方法 http django tastypie readthedocs org en latest throttling html在某个阈值之后阻止请求 带有403 or 429回复 然而
  • 如何部署:安装夹层主题

    如何准确 一步一步地安装 Mezzanine 主题 E g 现代免费主题 https github com thecodinghouse mezzanine themes 前提条件 0 版本控制 Python 2 7 6 Django 1
  • Node Express 中间件在一次调用中输出 console.log() 两次?

    只是一个关于某些 Node Express 中间件的简单问题 该中间件在我的节点 cmd 提示符中输出 1 个对 console log 的调用两次 它只是没有意义 想知道是否有人可以解释为什么这种情况发生在我身上 服务器 js var e
  • C# 表单控件移动

    是否有办法控制可以移动表单的位置 因此 如果我移动表单 它只能在垂直轴上移动 当我尝试水平移动它时 什么也不会发生 我不想要一个有缺陷的实现 比如位置更改或移动事件并将其内联弹出 我没有办法使用 WndProc 覆盖之类的东西 但搜索了一段
  • 为什么 C# 4.0 允许匿名对象初始化代码中的尾随逗号? [复制]

    这个问题在这里已经有答案了 可能的重复 内联属性初始化和尾随逗号 https stackoverflow com questions 5245152 inline property initialisation and trailing c
  • 如何根据给定的计数动态添加单选按钮?

    我已经尝试过这段代码 当模拟器启动时 它将在一行中显示三个单选按钮 但我需要一个按钮事件 IE 如果我单击该按钮 它应该询问单选按钮的数量 那么如果我给出计数 它必须根据给定的计数显示单选按钮 例如 如果我将计数指定为 3 则它必须在一行中
  • 为类模板声明用户定义的 OpenMP 缩减

    使用 OpenMP 时 我想为类模板声明用户定义的缩减 include
  • 如何在 Prometheus 或 Grafana 上编写“或”逻辑运算符

    我需要编写一个使用我定义的任何不同作业的查询 job traefik OR job cadvisor OR job prometheus 是否可以编写逻辑二元运算符 普罗米修斯有一个or逻辑二元运算符 但您在这里问的是向量选择器 您可以为此
  • 当 UserControl 更改可见性时聚焦于 TextBox

    我在画布内加载了一个用户控件 默认情况下 此用户控件的可见性已折叠 当我的窗口的特定文本框聚焦时 用户控件变得可见 当用户控件变得可见时 我想将焦点设置到用户控件内的另一个文本框 我尝试这样做 private void UserContro
  • 从 USRP N210 设备检索数据

    N210 连接到 RF 前端 该前端使用 GNU Radio Companion 进行配置 我可以通过 FFT 图看到信号 我需要接收到的信号 usrp2 输出 作为数字 usrp sense spectrum py 也将功率和噪声地板输出
  • 即使有 0 个连接,Aws Aurora Serverless v2 也不会缩减至 0.5 ACU

    我正在运行一个 v2 实例 并且根据 aws 文档 您应该只为实际使用的资源付费 我有一个实例 大多数时候连接数为 0 但它永远不会缩减到 2 个 ACU 以下 请参阅下面的图片以供参考 我的实例设置在 0 5 16ACU 之间扩展 但负载
  • 如何更改使用“rails new”命令创建的默认 gemfile?

    我最近遇到一个问题 我必须将以下内容添加到我的 gemfile 中 gem execjs gem therubyracer 我必须这样做以避免启动 Rails 服务器时发生 JavaScript 运行时错误 我希望将此修改添加到使用 Rai
  • 评估具有许多未知因素的项目

    我正在开展一个具有许多未知因素的项目 例如将应用程序从一个平台移动到另一个平台 我最初的估计有很大偏差 我无法真正确定这一切何时结束 我该如何处理无法评估这样的项目的情况 这并不是说我要在屏幕上添加一个按钮或设计一个网站 或创建应用程序 甚
  • run()方法后线程继续运行

    我在游戏中播放声音时遇到问题 当处理声音播放的线程退出它的 run 方法时 它不会终止 结束 停止 我知道正是这种方法导致了问题 因为当我将整个事情注释掉时 就不会创建更多线程了 用 JVisualVM 检查 问题是退出 run 方法后线程
  • 在 UWP 应用程序上使用 VB.net 获取 IPGlobalProperties

    我正在 Visual Studio 2017 中使用 VB 编写一个非常简单的通用 Windows 应用程序 该应用程序应该向用户提供基本的网络信息 因此我想使用以下方式收集数据IPGlobalProperties并打印 作为第一个例子 D
  • 如何将种子数据放入SQL Server docker镜像中?

    我有一个使用 ASP NET Core 和 SQL Server 的项目 我正在尝试将所有内容放入 docker 容器中 对于我的应用程序 我需要在数据库中有一些初始数据 我可以使用来自 microsoft microsoft mssql