docker - 当我们拥有 WebDeploy 时,为什么要为 .NET Web 应用程序使用 Docker?

标签 docker msdeploy webdeploy

在 Microsoft 生态系统中,人们乐于使用 WebDeploy Packages 部署 Web 应用程序,直到 Docker 出现。突然之间,每个人都开始更喜欢使用 Docker,使用 articles being written讲述如何将 Web 部署到 Docker 镜像中。

我在这篇文章(和其他文章)中搜索了“为什么”这个词,但没有找到解释,让我推断答案只是“因为 Docker”。

我可能过于简单化了,但似乎 WebDeploy Packages 和 Docker 镜像的部署目的相似,我不清楚我为什么要采用完美的 WebDeploy Package 并将其放入 Docker 镜像中。我错过了什么?除了我们使用 WebDeploy 所拥有的之外,Docker 还带来了哪些额外的好处?我什么时候应该选择一个而不是另一个,或者两者一起使用?

最佳答案

docker 的一个功能是在一个叫做镜像的文件中记录一个执行环境。

这样,您不必在新机器上设置完全相同的配置,您可以简单地在任何支持 docker 的机器上运行所述镜像,并且可能获得完全相同的环境执行(相同的 Windows,相同的 Webdeploy 版本,相同的 IIS,...)

一个 WebDeploy Packages是一个部署工件(如 jar、war 或任何其他工件),它不包括运行所述工件所需的内容。

一个 docker 镜像包括所有已经安装的,可以执行的。
您可以在 运行时 (docker run) 使用相同的图像:

关于docker - 当我们拥有 WebDeploy 时,为什么要为 .NET Web 应用程序使用 Docker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50769729/

相关文章:

docker - 运行 apache 时可以连接到 docker 容器,但在端口 80 上运行 netcat 时不能

docker - 没有域名的Traefik

azure-devops - 错误 : More than one package matched with specified pattern: *. deploy.cmd。请限制搜索模式

.net - msdeploy 忽略 .hgignore

azure - 使用 VS 2019 将 .NET Core 3.1 Web 应用程序发布到 Azure 应用服务 Linux,并显示欢迎屏幕

asp.net-core - 为 ASP.NET Core 构建 Web 部署包时如何指定自定义parameters.xml?

php - 将 Xdebug 从 php-fpm 和 nginx 容器中分离出来

visual-studio-2010 - 使用 TFS Build 2010 一键部署

asp.net - 用户 IIS APPPOOL\WebExploit 登录失败

docker - 如何在 HPC 集群上运行奇点容器? - 错误 : Failed to create user namespace: user namespace disabled