Docker基础知识(一)

本文介绍了Docker这一开源容器技术的基本概念及其与传统虚拟化技术的区别。Docker为应用程序提供了一个轻量级、可移植且自给自足的容器环境,简化了从开发到生产的部署流程,并探讨了其应用场景和技术局限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker简介:

   Docker 是一个开源的应用容器引擎,以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

 Docker与传统的虚拟化技术

传统虚拟化技术(VMware、Xen、Kvm)等技术

    纯软件的虚拟化是通过对于硬件层的模拟从而实现允许运行多个操作系统;

    硬件辅助虚拟化需要硬件层面对于虚拟化的支持,类似Inter-VT等,具有更高的运行效率。

    wKioL1eweKKBepkNAAD-fmTF-sU708.png-wh_50

传统虚拟化技术商业解决方案

    商业解决方案:VMware VSphere    VMvare Fusion

    开源解决方案:OpenStack  KVM

容器技术:

    LXC

    OpenVZ

    Docker:

    Imctfy Google的开源技术

wKiom1eweKPyZ4nNAAK_AKf73_4752.png-wh_50

Docker存在的一些问题

    1. Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用

    2. LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的

    3. 隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库

    4. 网络管理相对简单,主要是基于namespace隔离

    5. cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)

    6. docker对disk的管理比较有限

    7. container随着用户进程的停止而销毁,container中的log等用户数据不便收集


传统的虚拟化技术和docker的比较

wKiom1eweKDjGUudAAIl0y-qh28979.png-wh_50


Docker的应用场景:

wKiom1eweKHySJSiAAIwnSDL2-s528.png-wh_50


 1、   部署应用简单,灵活性高

主要解决环境不一致等问题,还有多套环境部署,生产环境、测试环境、预测试环境等多套环境等问题。

 2、    开发人员开发环境配置

3、     应用的隔离

4、      服务器的整合

5、      快速的部署

6、      代码流水线的管理

将测试好的代码,放置在容器里面,可以在很多地方的运行

7、      开发调试工作

8、      产品的发布模式

部署文档比较多,即使很详细,但是还是会出现问题。




本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1837882,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值