在 Windows 内核上运行 Docker 靠谱吗?专家六问六答帮你解惑!

简介: 上周三,我们为大家带来了新一期的网络研讨会。现场我们从观众那里得到了一些非常棒的问题,但是由于时间有限我们并没有在会上一一回答所有的问题。今天我将在这里为大家总结6个具有代表性的问题,供大家学习参考。

screenshot

本文首发自“Docker公司”公众号(ID:docker-cn)
编译丨小东
每周一、三、五 与您不见不散!


上周三,我们为大家带来了新一期的网络研讨会——不改代码!看 Docker 如何将15年前的应用迁移到容器运行。现场我们从观众那里得到了一些非常棒的问题,但是由于时间有限我们并没有在会上一一回答所有的问题。今天我将在这里为大家总结6个具有代表性的问题,供大家学习参考。


问:当我们在 Windows 上运行 Docker 时,它是真正的容器化吗?还是说它只是通过 API 进行通信?

答:它是真正的容器化!早在2016年9月,Docker 就与 Microsoft 合作发布了 Windows Server 2016 版本,从那时起 Windows 内核就已经支持容器了。当您运行一个 IIS 网站的 Docker Windows 容器时,您可以看到在主机 Windows 服务器上运行的 w3wp.exe 工作进程,它是一个进程级隔离。


问:我们可以从 Docker Windows 容器的 Azure 存储中进行读取/写入吗?

答:当然可以!Docker 是一种运行应用程序的新方法,在 Docker 容器中,应用程序的内容是相同的。运行在 Docker 企业版中的 Docker Windows 容器拥有与主机服务器相同的网络访问权限,因此您可以从云 VM 或数据中心处访问 Azure 存储。


问:我如何知道要使用哪个 Microsoft 的基础服务器和功能(服务器核心与Nano、ASP 和 dotnet等)?我需要详细了解我的应用程序吗?有没有什么简单的方法可以让我的 Windows 应用程序识别出这一点?

答:第一种策略是在 Windows Server Core 之间,它几乎是 Windows Server 2016 体验减去UI和Nano服务器,但它仅支持64位应用程序和某些应用程序的运行时。

如果您知道应用程序使用的运行时,那么您可以使用构建在 .NET Framework 或 .NET Core 其中一个上的 Microsoft 镜像。否则,您还可以编写一个 Dockerfile 文件来复制当前的部署过程。您还可以点击文尾处“阅读原文”查看关于如何将 Windows 应用进行容器化改造的更多详情。


问:假设我想部署一台人们可以在 RDP 中运行 Excel 的虚拟机,这是否可以与 Windows Server Core 一起使用呢?

答:不可以!Windows Server Core 镜像中没有 Windows UI。Docker 用于运行没有图形 UI 的服务器应用程序 —— Web服务器、REST API、数据库和控制台应用程序。Microsoft 最近发布了一款支持 GU I应用的新的 Windows Docker 镜像,但目前尚不清楚它是否会支持 RDP。


问:您能谈谈关于 WinForm 和 WPF 应用程序吗?

答:它们现在不适合Docker容器,因为容器目前不支持 Windows GUI 子系统。您可以使用 Docker 构建和分发这些应用程序,但无法在容器中运行 Window s客户端应用程序。


**问:请详细说明如何将旧式配置(XML)更改为新的环境变量?我们应该更改旧的应用程序吗?或者编写一个从 Env 变量构造 XML 的中间应用程序?
**
答:最好的选择是坚持使用 .NET 配置模型并使用 XML 文件,这样您就不必更改应用程序。您可以在 Docker 镜像中打包默认配置文件以进行开发,这样开发人员就可以通过运行没有额外设置的容器来运行应用程序。然后,您可以将 XML 文件保存为集群中的 Docker 配置对象,并在其运行时将它应用于容器。

相关文章
|
2月前
|
安全 Docker 容器
|
24天前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
24天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
31 5
|
24天前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
53 4
|
1月前
|
安全 Linux Shell
docker运行centos提示Operation not permitted
通过上述步骤,可以有效排查和解决在Docker中运行CentOS容器时遇到的"Operation not permitted"错误。这些措施涵盖了从权限配置、安全策略到容器运行参数的各个方面,确保在不同环境和使用场景下都能顺利运行容器。如果你需要进一步优化和管理你的Docker环境
112 3
|
2月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
340 3
|
2月前
|
安全 Docker 容器
Docker中运行容器时Operation not permitted报错问题解决
【10月更文挑战第2天】Docker中运行容器时Operation not permitted报错问题解决
665 3
|
2月前
|
应用服务中间件 Shell PHP
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
|
2月前
|
前端开发 应用服务中间件 nginx
docker运行nginx镜像
这篇文章详细说明了如何在Docker中部署并运行Nginx服务,包括拉取镜像、配置文件的挂载以及容器的启动配置。
411 0
docker运行nginx镜像
|
2月前
|
缓存 NoSQL Redis
docker运行redis镜像
这篇文章介绍了如何使用Docker运行Redis镜像,并提供了启动和配置Redis容器的具体命令和步骤。
222 0