当前位置: 首页 > 软件库 > 云计算 > PaaS系统/容器 >

dvm

轻量级Docker虚拟机
授权协议 Apache
开发语言
所属分类 云计算、 PaaS系统/容器
软件类型 开源软件
地区 不详
投 递 者 姜淇
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

这是一个开箱即用的docker虚拟机,基于Vagrantboot2docker,支持各种系统。这个项目对于那些不能原生支持docker服务的系统上比较有用,比如:Mac OS X。因为使用了只有30多M大小的boot2docker作为虚拟机系统,所以占用的空间会比较少,而且启动速度也非常快!

运行条件:

安装

如果你正在使用mac,并且已经安装了VirtualBox和Vagrant,而且你还是用homebrew,那么你可以按照下面的步骤安装和使用dvm:

# Install Docker Mac binary
brew tap homebrew/binary
brew install docker

# Install dvm
brew tap fnichol/dvm
brew install dvm

# Bring up your Vagrant/Docker VM
dvm up

# Set a DOCKER_HOST environment variable that points to your VM
eval $(dvm env)

# Run plain 'ol Docker commands right from your Mac
docker run ubuntu cat /etc/lsb-release

下面的安装方式在VirtualBox和Vagrant支持的unix like系统里都是支持的:

wget -O dvm-0.2.2.tar.gz https://github.com/fnichol/dvm/archive/v0.2.2.tar.gz
tar -xzvf dvm-0.2.2.tar.gz
cd dvm-0.2.2/
sudo make install


  • DVM,ART与JVM区别 DVM和ART是谷歌为Android量身定做的java虚拟机,由于android最初设计是用于手机端,对内存要求很高,Android DVM有独有的优化措施 Dex文件代替class文件 JVM把java源文件转换成.class文件,DVM,ART把class文件进行合并,去除冗余信息,生成DEX文件,文件结构比较紧凑,dex解析的时候,可以减少IO操作,使得查询速度更

  • DVM概述: DVM(Dalvik)也就是Android在5.0之前使用的虚拟机.首先看看他去Java虚拟机JVM之间的关系. Dalvik(DVM)虚拟机不是Java虚拟机(JVM),他是基于寄存器的,而标准Java虚拟机是基于栈,DVM的执行文件是dex,每个dex文件包含多个类,这样可以节约内存空间。JVM的执行文件是class文件,每一个类编译后都是一个class文件。因为JVM基于栈,他

  • Dalvik Virtual Machine 是Android平台的基础。 Dalvik和标准Java虚拟机(JVM)之间的首要差别之一,就是Dalvik基于寄存器,而JVM基于栈。选择基于寄存器的方式是因为它对提前优化(ahead-of-time optimization)提供了更好的支持,而这对类似于移动电话这样的受限环境是颇有裨益的。另一份针对基于寄存器虚拟机和基于栈虚拟机更深入的比较分析指

  • DVM

    Android 5.0以前默认使用的DVM JVM与DVM的区别: 1.基于的架构不同: JVM是基于栈的,读写数据需要较多的指令。 DVM是基于寄存器的,省去了数据复制时的栈的出入栈操作,提高了性能。但是基于寄存器的指令要比基于栈的指令要大。 2.执行的字节码不同: JVM:.java->.class->.jar,.jar只是对class进行了打包,并没有将class信息合并。 DVM:.jav

  • JVM虚拟机 JVM 的执行的指令是基于栈结构,需要去栈中读写数据,指令会变多,导致速度变慢。执行编译后的.class文件,执行顺序为:.java 文件 → .class 文件 → .jar 文件。 1、JVM内存模型 jvm分为五部分:堆、栈、方法区(一种规范定义,非实现)、本地方法栈、程序计数器 1.1、堆 jvm所管理的内存中最大的一部分、线程共享的内存区域,主要存放对象的实例和数组。堆根据

 相关资料
  • Docker 常用命令 docker pull redis #拉取镜像,默认 latest 版本 docker pull mysql:8.0 #拉取指定版本镜像 docker images #查看镜像 docker image ls #查看镜像 docker image ls -f dangling=true #查看虚悬镜像 docker image prune #删除虚悬镜像 doc

  • 同时,当前稳定的Debian版本仍然没有Java 11软件包(Ubuntu在openjdk-11软件包下安装了Java10),这就是为什么不稳定的sid版本被用于基本docker映像 当前可用的Oracle openjdk-11映像构建未剥离的模块,该模块具有数百兆字节,必须单独剥离: 从openjdk创建的JLink运行时映像大小(特别是libjvm.so)非常大。预期它会小得多。 解决方案:h

  • 问题内容: 受问题启发,为什么Java 11基本Docker映像这么大?(openjdk:11-jre-slim)我发现Java世界中的这个话题仍然没有解决。 至于常见问题/陷阱(在上面的票证中讨论): JRE没有作为单独的“包”分发。应改用JDK的模块 Oracle OpenJDK 11不支持Linux Alpine,因此无法轻松创建 轻量级 映像 同时,当前稳定的Debian版本仍然没有Jav

  • 我不断地重读Docker文档,试图理解Docker和一个完整的VM之间的区别。它是如何提供完整的文件系统、独立的网络环境等而又不那么沉重的呢? 为什么将软件部署到Docker映像(如果这是正确的术语)比简单地部署到一致的生产环境更容易?

  • 问题内容: 我不断阅读Docker文档,以尝试了解Docker和完整VM之间的区别。它如何提供完整的文件系统,隔离的网络环境等而又不那么繁重? 为什么将软件部署到Docker映像(如果是正确的说法)比简单地部署到一致的生产环境更容易? 问题答案: Docker最初使用LinuX容器(LXC),但后来切换到runC(以前称为 libcontainer ),后者与主机运行在相同的操作系统中。这使它可以

  • 主要内容:使用普通函数创建 goroutine,使用匿名函数创建goroutine在编写 Socket 网络程序时,需要提前准备一个线程池为每一个 Socket 的收发包分配一个线程。开发人员需要在线程数量和 CPU 数量间建立一个对应关系,以保证每个任务能及时地被分配到 CPU 上进行处理,同时避免多个任务频繁地在线程间切换执行而损失效率。 虽然,线程池为逻辑编写者提供了线程分配的抽象机制。但是,如果面对随时随地可能发生的并发和线程处理需求,线程池就不是非常直观和方便了。能否