Docker是什么?VM(虚拟机)和Docker有什么区别

Docker是什么

Docker是一个软件箱子,或者称之为一个容器,容器间相互隔离的一钟容器技术。系统级别的容器,比如说一个CentOS,或一个Ubuntu的容器,只要一次构建,你就可以发布到在任何地方(各种您熟悉的操作系统),并且获得一个Linux(CentOS或Ubuntu)的虚拟运行环境。当然Docker也能提供服务级别(PHP,Go,C++等等)的容器,甚至是自定义应用程序(一个博客,一个电子商务网站等等)容器。

注意:容器技术不只是单单指得是Docker,Docker比较流行,几乎成为容器技术的代名词。

学习具备的条件

前提条件是读者应熟悉Windows的基本概念以及Windows操作系统上已有的各种程序。此外,如果读者对Linux有所了解,这将有所帮助。

开始学习Docker

Docker跟虚拟机的区别

虚拟机

  • 资源占用多,虚拟机会独占一部分内存和硬盘空间。它运行的时候,其他程序就不能使用这些资源了。哪怕虚拟机里面的应用程序,真正使用的内存只有 1MB,虚拟机依然需要几百 MB 的内存才能运行。
  • 冗余步骤多,虚拟机是完整的操作系统,一些系统级别的操作步骤,往往无法跳过,比如用户登录。
  • 启动慢,启动操作系统需要多久,启动虚拟机就需要多久。可能要等几分钟,应用程序才能真正运行。

    Docker

  • 启动快,容器里面的应用,直接就是底层系统的一个进程,而不是虚拟机内部的进程。所以,启动容器相当于启动本机的一个进程,而不是启动一个操作系统,速度就快很多。
  • 资源占用少,容器只占用需要的资源,不占用那些没有用到的资源;虚拟机由于是完整的操作系统,不可避免要占用所有资源。另外,多个容器可以共享资源,虚拟机都是独享资源。
  • 体积小,容器只要包含用到的组件即可,而虚拟机是整个操作系统的打包,所以容器文件比虚拟机文件要小很多。

原文地址:https://blog.51cto.com/13578973/2422271

时间: 2024-10-08 23:07:48

Docker是什么?VM(虚拟机)和Docker有什么区别的相关文章

关于容器、虚拟机以及 Docker 的一个入门教程

Yves yao · 2017-09-05翻译 · 1315阅读 原文链接 huangxiaolu审校 源地址:http://zcfy.cc/article/a-beginner-friendly-introduction-to-containers-vms-and-docker-4139.html?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io Source: https://flipboard.com/topic/

虚拟机与Docker有何不同?

原文: Comparing Virtual Machines vs Docker Containers 译者: Fundebug 为了保证可读性,本文采用意译而非直译.另外,本文版权归原作者所有,翻译仅用于学习. 首先,大家需要明确一点,Docker容器不是虚拟机. 2014年,当我第一次接触Docker的时候,我把它比做一种轻量级的虚拟机.这样做无可厚非,因为Docker最初的成功秘诀,正是它比虚拟机更节省内存,启动更快.Docker不停地给大家宣传,"虚拟机需要数分钟启动,而Docker容器

虚拟机和Docker的异同

[摘要]各种虚拟机技术开启了云计算时代:而Docker,作为下一代虚拟化技术,正在改变我们开发.测试.部署应用的方式.那虚拟机与Docker究竟有何不同呢? 首先,大家需要明确一点,Docker容器不是虚拟机. 当我第一次接触Docker的时候,我把它比做一种轻量级的虚拟机.这样做无可厚非,因为Docker最初的成功秘诀,正是它比虚拟机更节省内存,启动更快.Docker不停地给大家宣传,"虚拟机需要数分钟启动,而Docker容器只需要50毫秒". 然而,Docker容器并非虚拟机,我们

虚拟机与Docker有何不同

http://www.techug.com/post/comparing-virtual-machines-vs-docker-containers.html 译者按: 各种虚拟机技术开启了云计算时代:而Docker,作为下一代虚拟化技术,正在改变我们开发.测试.部署应用的方式.那虚拟机与Docker究竟有何不同呢? 原文: Comparing Virtual Machines vs Docker Containers 译者: Fundebug 为了保证可读性,本文采用意译而非直译.另外,本文版

[转帖]Linux 下实践 VxLAN:虚拟机和 Docker 场景

https://www.cnblogs.com/bakari/p/11264520.html 实践了下 没问题 作者写的很perfect 本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复 「1024」 即可领取,欢迎大家关注,二维码文末可以扫. 在上篇文章中,我们已经探讨了 VxLAN 的概念和基本原理,本文就基于 Linux 对 VxLAN 做一个实践.如果有相关概念不懂的可以先看那篇文章. 01 Linux 上

Asp.Net Core 发布到 Docker(Linux Centos 虚拟机,使用Dockerfile)

实践一下 Asp.Net Core (基于.net core 2.2)部署到Docker 一.准备工作: 1. 使用Virtualbox创建一个Centos系统的虚拟机,并安装docker和vim 2. 配置好端口(如下图,后面需要使用) 3. 准备一个网站发布包(我采用的默认的Asp.Net Core MVC),windows发布时的配置(也可以在linux上进行发布),将发布包放入linux虚拟机(我的路径是:/root/Root/DefaultHttp/publish) 4. 测试一下发布

虚拟机和docker简单对比

原文: Comparing Virtual Machines vs Docker Containers 译者: Fundebug 为了保证可读性,本文采用意译而非直译.另外,本文版权归原作者所有,翻译仅用于学习. 首先,大家需要明确一点,Docker容器不是虚拟机. 2014年,当我第一次接触Docker的时候,我把它比做一种轻量级的虚拟机.这样做无可厚非,因为Docker最初的成功秘诀,正是它比虚拟机更节省内存,启动更快.Docker不停地给大家宣传,”虚拟机需要数分钟启动,而Docker容器

Docker 学习笔记【1】Docker 相关概念,基本操作

计划:Docker 学习笔记[2] Docker 基础操作实操记录,Docker仓库.数据卷,网络基础学习---40 注:所有操作在root下执行 --1--概念: 1.Docker镜像: 镜像就是一个只读的模板,用于创建docker容器. Docker提供了简单的机制创建或者更新现有镜像,也可以从别处拿来现成镜像直接使用. 2.Docker容器: 可以认为是精简版的linux运行环境包含 [root权限,进程空间,用户空间,网络空间等]和应用程序 另外:镜像是只读的,容器基于镜像启动后创建一层

docker入门(1) Centos 7 下docker的安装

centos 7安装docker 什么是 Docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护. Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc.Redhat 已经在其 RHEL6.5 中集中支持 Docker: