gpt4 book ai didi

docker - SQL Server Express 无法在运行 docker 容器 (Windows) 时启动

转载 作者:行者123 更新时间:2023-12-02 18:41:12 25 4
gpt4 key购买 nike

我做了什么:

  • 我已经安装了适用于 Windows 的 Docker 桌面 在 Windows 10 周年纪念日
    更新
  • 我提取了图像 microsoft/windowsservercore
  • 我安装了 SQL Server Express 2016 在此图像的正在运行的容器 A 上。
  • 我退出了容器 A
  • 我将容器 A 提交给一个新图像 sqlimage
  • 我用新的 sqlimage
  • 运行一个新的容器 B

    我的问题:

    在容器 A 上,SQL Server 可以正常工作。
    在容器 B 上,无法启动 SQL Server。
    当我尝试使用 net start "SQL Server (INST)"启动服务时,出现以下错误:发生服务特定错误:5。

    这两个容器有什么区别?

    最佳答案

    Microsoft 在安装了 SQL Server 2016 Express 的 Docker Hub 上有自己的镜像:microsoft/mssql-server-2016-express-windows .您可以直接使用它,也可以使用您自己的 Dockerfile 扩展它:

    FROM microsoft/mssql-server-2016-express-windows

    如果您更愿意自己构建,您可以从他们的 Dockerfile 中了解 Microsoft 是如何做到的。 - 如果您检查 CMD 中的 PowerShell 脚本指令,它会像这样启动 SQL Express:
    start-service MSSQL`$SQLEXPRESS

    当您使用 docker commit要保存更改的图像,您不会更改 CMD当你从镜像运行一个新容器时 Docker 将使用它,所以你最好使用 building your image from a Dockerfile .

    至于为什么服务无法在您的容器 B 中启动 - 这取决于您安装 SQL 所采取的步骤,以及您在运行容器时使用的选项。

    关于docker - SQL Server Express 无法在运行 docker 容器 (Windows) 时启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40151293/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com