小知识:docker镜像与传统vm虚拟机区别及分析

目录 前言碎语 前言:非常重要 大白话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虚拟机区别及分析-1猿站网-插图

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

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

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

spring boot应用docker镜像脚本Dockerfile示例
?
1
2
3
4
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区别的资料请关注服务器之家其它相关文章!

原文链接:http://www.kailing.pub/article/index/arcid/218.html

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:使用GoogleContainerTools容器化jib构建docker镜像

2023-3-9 16:19:33

建站知识

小知识:RAKsmart香港服务器E5-2670v3综合评测

2023-3-9 16:34:06

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索