运行Windows应用程序的Docker
我理解Docker是一个集装箱化的工具,只有一套有限的API,以便与平台无关。 我想了解它在典型的Windows开发上的限制。 例如,它是否仅限于写入文件系统的访问(并因此排除了写入registry的应用程序)? 在Dock不适合的情况下是否有一定程度的复杂性(但是我听说docker支持MSSQL)?
这个问题真的很广泛,很难明确地回答,但是可以解决一些具体的问题。
我理解Docker是一个集装箱化的工具,只有一套有限的API,以便与平台无关。
从某种意义上说,您可以在CentOS,Ubuntu或任何其他Linux发行版上运行容器,但是您不能在Windows本机上运行Linux容器,或者在本地运行Linux上的Windows容器。 Docker for Windows Server 2016的介绍是一个很好的开始有关Windows容器信息的地方。
例如,它是否仅限于写入文件系统的访问(并因此排除了写入registry的应用程序)?
基于这个MSDN FAQ ,没有(强调我的)
Windows Server Containers是一种轻量级操作系统虚拟化方法,用于将应用程序或服务与在同一容器主机上运行的其他服务分开。 为了实现这一点,每个容器都有自己的操作系统,进程,文件系统,registry和IP地址的视图。
例如, SQL Server Express映像的 dockerfile修改了registry。
在Dock不适合的地方是否有一定的复杂程度?
问题不在于复杂性,而在于API的可用性。 这也是来自上面提到的Windows Server 2016的Docker
除了GUI应用程序和需要Windows远程桌面的应用程序之外,运行在Windows Server上的大多数应用程序都可以被docker化,以最小的成本运行在基于microsoft / windowsservercore的映像中。
- 如何将.net core web api部署到linux机器上
- 剖析Docker容器上运行的C#点networking应用程序
- 如何使用docker在dotnet上正常closures?
- 使用Windows身份validation将在Linux容器中运行的.NET API与在VM中运行的SQL Server连接起来
- 错误:'ascii'编解码器无法解码位置91中的字节0xe2:序号不在范围内(128)
- dotnet docker / bin / sh:1:[dotnet ,:找不到
- Docker撰写不启动mongo服务甚至主要服务取决于它
- 遇到一个致命的错误。 需要库libhostpolicy.so
- dotnet aspnetcore docker生成失败,错误代码为145