无法安装SQL Server的Docker容器

无法安装SQL Server的Docker容器,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,我正在尝试在我的Docker上安装SQL Server,但我不确定是否应该先创建Docker容器,然后安装SQL Server映像,例如mcr.microsoft.com/mssql/Server 2019-CU4-ubuntu-18.04。我有一个SQL Server数据库容器,但我想为这个新数据库创建一个新容器 我试图通过cmd运行此命令,但它没有创建容器(我不确定是否应该重新启动Docker以查看更改) 有一条消息:“状态:mcr.microsoft.com/mssql/server:20

我正在尝试在我的
Docker
上安装
SQL Server
,但我不确定是否应该先创建Docker容器,然后安装
SQL Server
映像,例如
mcr.microsoft.com/mssql/Server 2019-CU4-ubuntu-18.04
。我有一个
SQL Server
数据库容器,但我想为这个新数据库创建一个新容器

我试图通过
cmd
运行此命令,但它没有创建容器(我不确定是否应该重新启动Docker以查看更改)

有一条消息:“状态:mcr.microsoft.com/mssql/server:2019-CU4-ubuntu-18.04的图像是最新的”。我想这是因为它已经安装好了。但我不确定如何使用此映像创建新容器(用于SQL Server数据库)


另一个问题是,由于我没有使用
Docker
的经验,我是否应该使用
cmd
Windows Power Shell
等来运行
Docker
命令?

通常,SQL Server中有一个Docker映像,并基于此运行容器。因此,如果您执行
docker run
(如下一个链接中的说明所示),您将从中提取图像-获取图像副本到您的计算机(如果您仍然没有),并基于图像创建一个运行容器

有关构建MSSQL Docker容器的完整演练,请参阅

要从同一个映像运行两个容器,请为每个容器使用不同的名称、端口和卷(因为它是一个数据库),这样就可以了。请检查这个

关于控制台,您可以选择任何一种。使用Windows,我个人更喜欢“类似于shell”的控制台,比如Git Bash或WSL shell。Docker是Linux,所以对我来说,使用“类似Linux”的环境和命令是有意义的。但是你只需要安装Docker桌面,那就由你决定了。另外,您可以安装Visual Studio代码的Docker扩展或任何其他管理器,因为它允许您非常轻松地管理容器、图像、卷等:)

关于卷策略,这取决于您想对容器做什么。如果不指定任何卷,则删除容器后将丢失所有数据。如果您使用命名卷,您可以让Docker管理信息的位置,但它会附加到该名称,您可以在卷列表中看到该名称;只有删除特定卷时,才会丢失数据。然而,如果使用装载到外部位置(例如在文件系统中)的卷,则可以指定数据存储在该位置;只有当您转到该位置并删除数据时,信息才会丢失。因此,这取决于您的用例:)


Docker非常好,您可以在这里阅读

是否有其他人没有在Docker容器上使用SQL Server?任何帮助都将不胜感激。好的,投赞成票。没问题,你现在可以接受答案,以后再投票,如果你愿意:)谢谢。我最后的问题呢?>>非常感谢,投票通过了。我看到,首先我提取一个我安装的映像,然后使用这个提取的映像和必要的参数创建一个容器。但我想知道我应该将SQL Server数据文件保存在Docker容器的默认SQL安装目录中,还是保存在该容器或本地驱动器的专用卷中?你会建议哪一个,我该怎么做?我正在编辑帖子的答案,以包括卷部分,请查看:)非常有用的解释,投票通过;)但是,尽管我看了卷的部分,我还是不能正确地理解。因此,我只想将我的SQL Server数据库相关文件保留到一个卷中,并在删除容器后保留它。我不确定我应该遵循哪些步骤?有什么特别的问题吗?
docker pull mcr.microsoft.com/mssql/server:2019-CU4-ubuntu-18.04