欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

docker镜像与传统vm虚拟机区别及分析

时间:2025-12-19 23:30:03|栏目:其它服务器|点击:

目录
  • 前言碎语
  • 前言:非常重要
  • 大白话docker
    • docker和传统vm的区别
  • 大白话:什么是镜像(image)?

    前言碎语

    这篇博文是博主在公司内推进docker+k8s落地时的部分内容。目的是为了让公司内的开发不管有没有接触过docker这个技术,都能准确的了解docker是什么,怎么打出符合自己项目需要docker镜像,最终交付给容器环境运行。

    前言:非常重要

    今天分享的内容主要以实际改造为主,剖开docker的神秘面纱,力求让大家都知道docker是什么,怎么打dcoker镜像,docker这块是开发必须要了解的,以后我们的交付物不是jar,也不是war,而是可以运行在各种容器化平台(k8s,swarm,mesos,OpenShift等)的docker镜像。

    k8s这块已经偏运维了,运维需要掌握k8s中的诸多概念,以后运维就不是运维ECS主机了,直接运维k8s。然后分别以spring boot和tomcat两个类型的不同应用为例。讲下具体的改造方案,以及我们在这个期间解决的一些问题和改造需要注意的细节

    大白话docker

    docker和传统vm的区别

    docker镜像与传统vm虚拟机区别及分析

    虚拟机属于完全虚拟化,即模拟完整的底层硬件环境特权指令的执行,客户操作系统无需进行修改。比如我们常用的VirtualBox,VMWare Workstation和Parallels Desktop等虚拟化软件。

    Docker和其它容器技术便是操作系统级虚拟化,即直接通过内核创建虚拟的操作系统实例(内核和库),来隔离不同的进程和资源。

    大白话:什么是镜像(image)?

    docker镜像与传统vm虚拟机区别及分析

    在docker没有出现流行前,一般提到镜像,都是Windows等系统镜像,其实docker镜像和Windows等系统镜像在概念上是一样的,都是将一个完整的可运行的系统打包下,方便下次运行时包含所有环境,不需要安装各种依赖了。

    java的docker镜像中一般都有一个最基础的镜像+jre环境,最基础的系统运行环境,大概4M左右。然后我们需要将我们的spring boot应用copy进去,重新打包镜像。那么新的镜像就是包含了我们的应用的所有的依赖了。

    这个过程相当于,将我们uat环境的ECS主机copy一份镜像一样,但是这个体积有很大的区别。最终我们打完的docker镜像大小=基础系统(4M左右)+java(80M左右)+应用(100M左右)
    spring boot应用docker镜像脚本Dockerfile示例

    FROM registry-vpc.cn-shanghai.aliyuncs.com/keking/jdk:1.8
    ENV LANG C.UTF-8
    COPY producer/target/salesApp-1.0-RELEASES.jar app.jar
    CMD $runShell

    以上就是docker镜像与传统vm区别及分析的详细内容,更多关于docker镜像与vm区别的资料请关注其它相关文章!

    上一篇:基于docker部署skywalking实现全链路监控功能

    栏    目:其它服务器

    下一篇:在vmware虚拟机安装dpdk的详细过程

    本文标题:docker镜像与传统vm虚拟机区别及分析

    本文地址:https://zz.feitang.co/server/32079.html

    广告投放 | 联系我们 | 版权申明

    申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:257218569 | 邮箱:257218569@qq.com

    Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号