一、Docker 简介

打印 上一主题 下一主题

主题 578|帖子 578|积分 1734

前言:
本课程需要Linux基础,asp.net core/mvc/webapi 等基础开发知识,2-5年以上的开发经验。
市场上很多docker 课程对于.net 程序员都不是特别友好,虽然Docker是一款致力于云原生开发与开发平台无关的容器化技术,但市场上大部分的教程案例都是以Java为例。本人刚好身兼两门开发技术,在本课程中会以Java与.Net Core 两种开发语言为大家进行案例展示。
 
1.为什么使用Docker


  • 为了跳槽加薪,这个是最现实的问题
  • 解决环境差异,安装麻烦问题
    从搬家到搬楼的区别,再也不用说我这人认床啦。Docker 可以将所有依赖的环境一键打包成镜像,现在就算是来了几十台服务器也不用担心环境部署问题了。

     
2.什么是Docker

Docker是基于Go语言实现的云开源项目。简单说就是一个虚拟化容器,容器中内置了一简化版的linux系统。
( Hypervisor来负责创建虚拟机 )
Hypervisor,又称虚拟机监视器(英语:virtual machine monitor,缩写为 VMM),是用来建立与执行虚拟机器的软件、固件或硬件。
被Hypervisor用来执行一个或多个虚拟机器的电脑称为主体机器(host machine),这些虚拟机器则称为客体机器(guest machine)。hypervisor提供虚拟的作业平台来执行客体操作系统(guest operating systems),负责管理其他客体操作系统的执行阶段;这些客体操作系统,共同分享虚拟化后的硬件资源
Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行”。

 
为什么不使用虚拟机

1、启动速度
启动虚拟机需要先启动虚拟机的操作系统,再启动应用,这个过程非常慢;
而启动 Docker 相当于启动宿主操作系统上的一个进程。
2、占用资源
虚拟机是一个完整的操作系统,需要占用大量的磁盘、内存和 CPU 资源,一台机器只能开启几十个的虚拟机。而 Docker 只是一个进程,只需要将应用以及相关的组件打包,在运行时占用很少的资源,一台机器可以开启成千上万个 Docker。
3、隔离性
与虚拟机相比,docker隔离性更弱,docker属于进程之间的隔离,虚拟机可实现系统级别隔离。
4、安全性
docker的安全性也更弱。Docker的租户root和宿主机root等同,一旦容器内的用户从普通用户权限提升为root权限,它就直接具备了宿主机的root权限,进而可进行无限制的操作。虚拟机租户root权限和宿主机的root虚拟机权限是分离的,并且虚拟机利用如Intel的VT-d和VT-x的ring-1硬件隔离技术,这种隔离技术可以防止虚拟机突破和彼此交互,而容器至今还没有任何形式的硬件隔离,这使得容器容易受到攻击
 
特性容器虚拟机启动秒级分钟级硬盘使用一般为MB一般为GB性能接近原生弱系统支持量单机支持上千个容器一般几十个 
3.Docker的作用

4. Docker 网站

配套视频链接:全网首发java/.net双案例Docker精品课程,Docker 进阶教程(双语言双案例助力教学)-已完结_哔哩哔哩_bilibili

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表