docker - 基于主机的容器与基于图像的容器

标签 docker lxc libvirt

基于主机的linux容器和基于镜像的linux容器有什么区别?

每个优点/缺点是什么?

如何决定在哪种情况下使用哪种类型?

编辑

我们正在研究virshdocker在我们的一种产品中的使用。
我们的软件在RHEL7上运行,我们试图对其进行“容器化”。
因此,在做出决定之前,先尝试看看每个人具有什么优势和灵活性。

基本上,在哪种情况下,我们应该首选使用virsh创建的基于主机的容器,以及哪种情况适合docker

最佳答案

根据描述,virsh是VM管理工具。当您说“基于主机的容器”时,我相信您指的是虚拟机。与Docker相比,这一切都归结为VM与容器,围绕它已经有很多有趣的讨论:

How is Docker.io different from a normal virtual machine?

Virtual Machines Vs. Containers: A Matter Of Scope

Docker vs. VMs? Combining Both for Cloud Portability

我倾向于基于容器的Docker解决方案。由于它更精简,更可移植,并且是跨开发,测试和操作的标准化工具。该技术还很年轻,但是正在行业中迅速适应。当您看到Google使用容器管理工具Kubernetes和容器中Google Cloud的 future 来支持它时,您就会知道这项技术正在朝着正确的方向发展。

编辑:在阅读了有关virsh的更多内容之后,Virsh主要使用 libvirt LXC ,而Docker构建了自己的执行环境 libcontainer 。这种方法为Docker提供了更大的灵活性,以提供传统容器技术不具备的功能。了解更多有关here的信息。
docker-libcontainer
(来源:infoq.com)

关于docker - 基于主机的容器与基于图像的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26655050/

相关文章:

Docker-compose,远程上下文,相对于本地机器而不是远程的路径

docker - 是否可以将环境变量从主机传递到托管的 blazor wasm 应用程序?

linux - 没有 chroot 的 LXC

linux - 对于使用 libvrt 创建的 CentOS 虚拟机,需要使用 sda(而不是 vda)进行分区

vnc - 如何使用 libvirt 获取 VNC 端口号?

docker - 如何使用 k3d 通过唯一端口公开两个应用程序/服务?

python - AWS Fargate 任务 - awslogs 驱动程序 - 间歇性日志

linux - Docker 容器对 memcached 实例有什么好处?

networking - Linux LXD 容器无法从 DHCP Ubuntu 16.04 TLS 获取 IP