Docker 与 Vagrant

2023-12-02

据我了解,每个 Docker 镜像都基于基础图像- 例如,Ubuntu。

如果我想隔离任何进程,我应该部署 ubuntu docker 基础镜像(这里与 Vagrant 的区别在哪里?),并在安装到 ubuntu 映像上后创建必要的子映像?

那么,如果 Ubuntu 在 Vagrant 上启动和在 Docker 上启动,实践上的区别在哪里呢? 如果要在 Vagrant 中使用 docker 提供程序 - Vagrant 和 Docker 之间的区别在哪里?

并且,在 Docker 中,是否可以在没有基础映像的情况下隔离某些 PC 上的进程,而无需将其共享到另一台 PC?


Vagrant 是一个帮助您自动设置虚拟机的实用程序。 Docker 是一个帮助您在 Linux 中使用容器化的实用程序。

虚拟机运行整个系统并模拟硬件。容器在单个运行的内核中划分进程,无需模拟硬件。

VM 和 Docker 映像都可能是 Ubuntu 14.04,但使用 Docker 映像,您不需要运行整个操作系统。

例如,如果我想运行一个基于 ubuntu 的 nginx 容器,我最终只会运行 nginx 进程。不需要 upstart/systemd/init。虚拟机将运行一个初始化系统,管理自己的网络,并运行其他服务。使用 Linux 发行版基础的容器镜像方法主要是为了方便。

使用非常少的镜像来运行 Docker 容器是完全可能的。运行容器所需的只是映像中静态编译的二进制文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker 与 Vagrant 的相关文章

随机推荐

  • 抑制或解决 goog.base 中的编译器错误

    我在我的源代码上使用 Closure Compiler 最近决定通过以下方式启用最严格的模式 jscomp warning reportUnknownTypes 唉 它在内部引发了很多警告goog base本身 我已经修复了自己的代码中的所
  • 枚举中冲突的“名称”声明

    我有一个简单的枚举类 我想在其中有一个名为name enum class DeviceFieldQuery val clazz Class lt gt id Int class java name String class java 不幸的
  • spring security j_spring_security 注销问题

    我正在研究春季安全 但 j spring security serlvet 似乎不起作用 我如何调试问题 或者至少寻找根本原因 我没有看到任何有用的日志文件
  • 如何获取日志及其包含“错误”字样的数据以及如何配置相同的logstashPipeLine.conf 文件?

    目前我正在开发一个应用程序 我需要根据特定位置的文件中的特定数据创建文档 我已经设置了logstash管道配置 这是目前的样子 input file path gt D ELK Info logstashInput log start po
  • 十六进制字符串转 INT32 - Little Endian(DCBA 格式)Javascript

    基于可悲的文档来实现一些东西 没有任何信息 例子就是这样 7F02AAF7 H gt F7AA027F H 139853185 假设我转换了7F02AAF7 to F7AA027F 那么仍然通过输出 parseInt F7AA027F 16
  • 在python中使用pyglet,为什么我的鼠标拖动时帧速率会加快?

    我使用 python 的 pyglet 包编写了一个简单的图像显示 在我的Linux笔记本电脑 代码按照我的预期运行 显示恒定的每秒 60 帧 在我的 Windows 7 桌面上 相当新 Xi然而 使用 GeForce GTX 550 Ti
  • Android :: Facebook 点赞按钮

    我正在学习如何使用 Facebook SDK 并且我喜欢在我正在测试的应用程序上添加一个 赞 按钮 不幸的是我做错了一些事情 所以您能否展示一个适用的示例或代码点赞按钮 这是正在处理的课程 Copyright 2010 present Fa
  • TinyMCE 返回不带 HTML 的内容

    我正在使用内联编辑器ipweditor内部使用tinyMCE编辑器的工具 在他们的演示页面上 它使用旧版本的tinyMCE 该版本在我的IE 中不起作用 所以我用最新版本更新了tinyMCE 在旧版本的 TinyMCE 中 它返回带有所有
  • 如何更新 Google Colab 的 Python 版本?

    Google Colab 上运行的当前默认 Python 版本是 3 7 但我的笔记本需要 3 9 才能工作 如何将 Google Colab 的 Python 版本更新到 3 9 或更高版本 在 Google Colab 中 您拥有基于
  • 从上传的文件中获取文件扩展名

    这里我的要求是上传文件并将其存储在磁盘中 我将其存储在磁盘中没有问题 但获取文件的扩展名 问题是当我单击上传并处理文件以存储在磁盘中时 它会保存为具有以下名称的临时文件 tmp multipartBody623808107601419981
  • 需要验证数据合约和数据成员

    我正在使用 Web api 构建一个 API 当接收发布的值并将它们绑定到我的模型时 我收到一个似乎不合适的错误 我有一个简单的模型 如下所示 public class Client ScaffoldColumn false JsonIgn
  • ZF2:如何使用 InArray 验证器来验证多选表单元素?

    我有一个 ZF2 表单 出于特定原因 我必须禁用本机验证器 然后 当以编程方式向表单添加元素时 我还添加了验证器 其中元素之一是多选数组 form gt add array type gt Zend Form Element Select
  • 正则表达式 BBCode 到 HTML

    我将 BBcode 转换器编写为 html 转换器应跳过未封闭的标签 我考虑了两种选择 1 使用一个正则表达式调用一次匹配所有标签 例如 Regex re2 new Regex b i u quote strike MatchCollect
  • 使用 appcompat-v7 更改操作栏中的后退箭头图像

    我有一个Actionbar from android support v7 widget Toolbar 它有带有向后箭头动画的汉堡包图像 我想将向后箭头从 我怎样才能在 Android Studio 中做到这一点 我在某处读到要更改它se
  • (接口)检测到类型服务的循环依赖

    我有2个接口 public interface IPedidoService UsuarioDrogueria CUsuarioDrogueria string userId int idDrogueria List
  • @SessionScoped CDI bean 注入时是一个不同的实例

    我的配置是一个 bean 我可以在代码中任何需要的地方注入它 然而 当注入时 我得到了一个新的 bean 实例 而不是会话中的实例 My bean Named SessionScoped public class TestModel imp
  • Django添加/删除表单无需多次提交

    我想要 Django 中的一个简单的编辑 删除表单 我希望它看起来像 Item A edit remove Item B edit remove Item C edit remove 我想编辑和删除 按钮 作为超链接 或者至少看起来像它们
  • 从自引用数据库表填充递归数据结构

    这个问题指的是http www matthidinger com archive 2009 02 08 asp net mvc recursive treeview helper aspx 假设我有一个如下所示的表 source matth
  • Docker-compose 未将环境变量传递给容器

    我正在使用 Docker 17 04 0 ce 使用 docker compose 1 12 0 构建 4845c56 在 Ubuntu 16 04 2 LTS 上构建 b31ff33 我只想传递一个环境变量并从在容器中运行的脚本中显示它
  • Docker 与 Vagrant

    据我了解 每个 Docker 镜像都基于基础图像 例如 Ubuntu 如果我想隔离任何进程 我应该部署 ubuntu docker 基础镜像 这里与 Vagrant 的区别在哪里 并在安装到 ubuntu 映像上后创建必要的子映像 那么 如