容器(Docker)和IIS之间的区别

瓦卡诺

我正在学习有关容器(主要是Docker)的信息,因为它已进入Windows。而且其好处似乎与IIS非常相似。

我在为公司(业务线)构建应用程序的防火墙后面工作。我们有一堆VM,每个VM将承载一系列Web服务。一台VM可以在IIS上运行20多个服务。

在那种情况下,通过Docker部署服务会导致我没有使用IIS的情况?

注意:我是Docker的新手,只有IIS的开发人员经验。

克里滕

Docker不能替代IIS,它可以在容器内运行IIS之类的应用程序(我想-不确定在Windows上如何运行)。

Docker更像是VM的替代品-VM与Docker容器之间的最大区别是Docker容器比完整的VM轻得多。您通常会看到的说法是,主机上可以运行的Docker容器比VM还要多(但是您的工作量可能会有所不同-其中有些说法有些过分……夸大了)。

基本上,这个想法是这样的:VM是完整的虚拟机-在虚拟硬件之上运行的真实OS(对OS看起来足够真实)。因此,您将获得操作系统的所有细节,包括运行IIS或其他HTTP服务器时可能不需要的东西。

另一方面,Docker仅使用主机的操作系统,但利用操作系统的一些有用功能将容器中运行的进程与主机的其余部分隔离开来。这样就可以隔离VM(在发生故障或出于安全考虑时很有用),而不会占用整个OS的开销。

现在,您可以在单个Docker容器中运行“ 20多种服务”,但是通常不建议这样做。由于Docker容器非常轻巧,因此您可以(而且应该!)将它们限制为每个容器仅提供一项服务。这给您带来诸如

  • 关注点分离:您的数据库容器就是那个-数据库。没有其他的。而且,它仅处理正在使用它的应用程序的数据。

  • 更高的安全性:如果您希望以这种方式进行设置,则只能从使用该数据库的应用程序访问数据库容器。

  • 有限的东西安装:您的数据库容器应该只运行MySQL-没有SSH守护程序,没有Web服务器,没有其他东西。简单而干净,每个容器只做一件事。

  • 可移植性:我可以配置映像,将其拉到新主机上,然后启动容器,并且可以保证在新主机上与旧主机具有完全相同的环境。对于开发非常有用。

这并不是说您无法使用VM进行类似的设置-当然可以-但是可以想象应用程序中每个组件的完整VM的开销。

举例来说,最近我的主要项目是一个在Apache上运行的Web应用程序,该应用程序带有MySQL数据库,redis服务器和三个微服务(每个微服务都在Lighttpd上运行一个简单的独立Web应用程序)。想象一下,为此应用程序运行六个不同的服务器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Docker Compose中服务和容器之间的区别

来自分类Dev

Docker特权模式和kubernetes特权容器之间的区别

来自分类Dev

Docker和OpenVZ之间的区别

来自分类Dev

vserver和Linux容器之间的区别

来自分类Dev

Docker容器中SizeRootFs和SizeRw之间的确切区别是什么?

来自分类Dev

在git上共享dockerfile和共享docker容器之间有什么区别?

来自分类Dev

Docker-数据量和数据容器之间的区别

来自分类Dev

连接到正在运行的Docker容器-使用ssh和运行带有“ -t -i”参数的命令之间的区别

来自分类Dev

debian docker容器内部和debian VM之间的主要(非技术性)区别是什么?

来自分类Dev

Jenkins工具和Docker Agent之间的区别

来自分类Dev

Web容器创建的线程和普通线程之间的区别?

来自分类Dev

Web容器和普通线程创建的线程之间的区别?

来自分类常见问题

IISRESET和IIS Stop-Start命令之间的区别

来自分类Dev

WCF:在IIS和Windows服务中托管之间的区别

来自分类Dev

Docker容器和Ansible Playbook有什么区别?

来自分类Dev

主机和 docker 容器之间的卷和权限

来自分类Dev

$(docker-machine ...)之前运行eval和docker之间的区别

来自分类Dev

容器视图和容器视图控制器之间有什么区别?

来自分类Dev

boost ptr容器与普通容器之间的区别?

来自分类Dev

经典ASP,IIS6和IIS8之间的DATE区别

来自分类Dev

docker 容器之间的代理

来自分类Dev

Docker和Java套接字:在容器之间共享数据

来自分类Dev

容器之间的Docker和Nginx proxy_pass

来自分类Dev

Docker 容器和其他机器之间的连接问题

来自分类Dev

之间的区别 和|| 或&和&&

来自分类Dev

Jenkins:docker 容器与 jenkins master 和 docker 容器与 jenkins slave 之间的连接

来自分类Dev

docker-compose和手动命令之间的区别

来自分类Dev

覆盖docker网络中的--link和--alias之间的区别?

来自分类Dev

Docker和Snap之间的主要区别是什么?

Related 相关文章

  1. 1

    Docker Compose中服务和容器之间的区别

  2. 2

    Docker特权模式和kubernetes特权容器之间的区别

  3. 3

    Docker和OpenVZ之间的区别

  4. 4

    vserver和Linux容器之间的区别

  5. 5

    Docker容器中SizeRootFs和SizeRw之间的确切区别是什么?

  6. 6

    在git上共享dockerfile和共享docker容器之间有什么区别?

  7. 7

    Docker-数据量和数据容器之间的区别

  8. 8

    连接到正在运行的Docker容器-使用ssh和运行带有“ -t -i”参数的命令之间的区别

  9. 9

    debian docker容器内部和debian VM之间的主要(非技术性)区别是什么?

  10. 10

    Jenkins工具和Docker Agent之间的区别

  11. 11

    Web容器创建的线程和普通线程之间的区别?

  12. 12

    Web容器和普通线程创建的线程之间的区别?

  13. 13

    IISRESET和IIS Stop-Start命令之间的区别

  14. 14

    WCF:在IIS和Windows服务中托管之间的区别

  15. 15

    Docker容器和Ansible Playbook有什么区别?

  16. 16

    主机和 docker 容器之间的卷和权限

  17. 17

    $(docker-machine ...)之前运行eval和docker之间的区别

  18. 18

    容器视图和容器视图控制器之间有什么区别?

  19. 19

    boost ptr容器与普通容器之间的区别?

  20. 20

    经典ASP,IIS6和IIS8之间的DATE区别

  21. 21

    docker 容器之间的代理

  22. 22

    Docker和Java套接字:在容器之间共享数据

  23. 23

    容器之间的Docker和Nginx proxy_pass

  24. 24

    Docker 容器和其他机器之间的连接问题

  25. 25

    之间的区别 和|| 或&和&&

  26. 26

    Jenkins:docker 容器与 jenkins master 和 docker 容器与 jenkins slave 之间的连接

  27. 27

    docker-compose和手动命令之间的区别

  28. 28

    覆盖docker网络中的--link和--alias之间的区别?

  29. 29

    Docker和Snap之间的主要区别是什么?

热门标签

归档