免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 王楠w_n
打印 上一主题 下一主题

【好书推荐】深挖Docker和虚拟机的那些事儿 [复制链接]

论坛徽章:
72
20周年集字徽章-20	
日期:2020-10-28 14:04:30操作系统版块每日发帖之星
日期:2016-07-13 06:20:0015-16赛季CBA联赛之广夏
日期:2016-07-10 09:04:02数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00操作系统版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-04 06:20:00数据库技术版块每日发帖之星
日期:2016-07-03 06:20:00操作系统版块每日发帖之星
日期:2016-07-03 06:20:00数据库技术版块每日发帖之星
日期:2016-07-02 06:20:00操作系统版块每日发帖之星
日期:2016-07-02 06:20:00
11 [报告]
发表于 2017-01-04 13:08 |只看该作者
本帖最后由 cjfeii 于 2017-01-04 14:00 编辑

1. Docker有什么好处?
" Build, Ship, and Run Any App, Anywhere! "

2. Docker和虚拟机有什么区别?
虚拟机有着自己的操作系统(guest os),宿主操作系统(host os)之间通过硬件虚拟化平台(Hypervisor)完全环境隔离,guest os 是一个完整的操作系统内核。虚拟机实现资源隔离的方法是利用独立的OS,并利用Hypervisor虚拟化CPU、内存、IO设备等实现的。
对比虚拟机实现资源和环境隔离的方案,docker就显得简练很多。docker Engine 可以简单看成对 Linux的NameSpace、Cgroup、镜像管理文件系统操作的封装。docker并没有和虚拟机一样利用一个完全独立的 Guest OS 实现环境隔离,它利用的是目前 Linux 内核本身支持的容器方式实现资源和环境隔离。简单的说,docker 利用 namespace 实现系统环境的隔离;利用 Cgroup 实现资源限制;利用镜像实现根目录环境的隔离。

3. 什么是虚拟化技术?
虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
主要分类有这些:硬件虚拟化、虚拟机、虚拟内存、存储虚拟化、网络虚拟化等。

4. 哪种系统最适合运行Docker?
Docker现在对目前主流的Linux发行版本都支持比较好,我在上面看到有人说Ubuntu最适合docker,但是我们公司的docker是部署在centos7上面的,运行状态很好。

5. Docker是否安全?
我们的docker打开方式主要是将docker和jenkens结合作为自动部署我们的测试环境。
首先做一个centos-tomcat基础镜像,然后将项目代码编译好的war包结合基础centos-tomcat镜像重新生成一个新的镜像,然后运行镜像,并暴露相应的端口(我们暴露了http-8080端口,还有ssh-22端口),这个与tomcat相关的docker使用场景。
还有就是数据库镜像,主要是将主机的数据卷mount进入容器。
从我们上面的使用场景来看,docker将需要的端口和数据映射到宿主机,不需要外漏的资源可以不映射到外面,结合宿主机的安全机制应该能实现docker的安全控制。

论坛徽章:
15
2015七夕节徽章
日期:2015-08-21 11:06:172017金鸡报晓
日期:2017-01-10 15:19:56极客徽章
日期:2016-12-07 14:07:30shanzhi
日期:2016-06-17 17:59:3115-16赛季CBA联赛之四川
日期:2016-04-13 14:36:562016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-01-28 06:20:0015-16赛季CBA联赛之新疆
日期:2016-01-25 14:01:34IT运维版块每周发帖之星
日期:2016-01-07 23:04:26数据库技术版块每日发帖之星
日期:2016-01-03 06:20:00数据库技术版块每日发帖之星
日期:2015-12-01 06:20:00IT运维版块每日发帖之星
日期:2015-11-10 06:20:00
12 [报告]
发表于 2017-01-04 14:40 |只看该作者
1. Docker有什么好处?
    最大的好处是缩短开发、测试到部署、上线运行的周期,构建环境一致,使得开发、测试、运维不再为是否环境问题而争论不休
    其它的好处如轻量级资源隔离,资源利用率高,操作使用简单等

2. Docker和虚拟机有什么区别?
    虚拟机相比docker多了一层:资源映射(和翻译),相对docker来说笨重了一点,好处是可以跨平台,即可以虚拟不同的OS,docker只是利用了cgroup等资源管理工具实现,不能跨平台

3. 什么是虚拟化技术?
    个人理解:虚拟化就是将资源(cpu、memory、storage、network等)抽象之后进行管理和调度

4. 哪种系统最适合运行Docker?
    Linux,这是毫无疑问的,在Linux中应该是ubuntu和Redhat支持更好

5. Docker是否安全?
    相对而言比较安全,毕竟资源都被限制在容器中,除非内核本身有问题

论坛徽章:
43
15-16赛季CBA联赛之上海
日期:2020-11-04 09:36:5515-16赛季CBA联赛之北控
日期:2018-10-29 18:20:3415-16赛季CBA联赛之北京
日期:2018-10-06 21:39:5715-16赛季CBA联赛之天津
日期:2018-08-09 10:30:41ChinaUnix元老
日期:2018-08-03 17:26:00黑曼巴
日期:2018-07-13 09:53:5415-16赛季CBA联赛之吉林
日期:2018-03-30 12:58:4315-16赛季CBA联赛之佛山
日期:2017-12-01 10:26:3815-16赛季CBA联赛之上海
日期:2017-11-14 09:20:5015-16赛季CBA联赛之江苏
日期:2019-02-20 09:53:3319周年集字徽章-庆
日期:2019-08-27 13:23:2515-16赛季CBA联赛之广夏
日期:2019-09-03 18:29:06
13 [报告]
发表于 2017-01-04 20:50 |只看该作者
1. Docker有什么好处?
快速部署应用。
2. Docker和虚拟机有什么区别?
Docker更节省资源,屏蔽硬件。
3. 什么是虚拟化技术?
虚拟化技术是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打
4. 哪种系统最适合运行Docker?
linux系统
5. Docker是否安全?
安全永远是相对的,Docker还是比较安全的。

论坛徽章:
40
水瓶座
日期:2013-08-15 11:26:422015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之乌兹别克斯坦
日期:2015-03-27 14:01:172015年亚洲杯之约旦
日期:2015-03-31 15:06:442015亚冠之首尔
日期:2015-06-16 23:24:37IT运维版块每日发帖之星
日期:2015-07-01 22:20:002015亚冠之德黑兰石油
日期:2015-07-08 09:32:07IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:00IT运维版块每日发帖之星
日期:2015-10-11 06:20:00IT运维版块每日发帖之星
日期:2015-11-10 06:20:00
14 [报告]
发表于 2017-01-09 00:00 |只看该作者
shang2010 发表于 2016-12-31 11:26
早期Docker是基于Ubuntu系统开发的,当然最适合的系统就是Ubuntu。

嘿嘿 你还别说 我是ubuntu党 这话我喜欢

论坛徽章:
40
水瓶座
日期:2013-08-15 11:26:422015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之乌兹别克斯坦
日期:2015-03-27 14:01:172015年亚洲杯之约旦
日期:2015-03-31 15:06:442015亚冠之首尔
日期:2015-06-16 23:24:37IT运维版块每日发帖之星
日期:2015-07-01 22:20:002015亚冠之德黑兰石油
日期:2015-07-08 09:32:07IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:00IT运维版块每日发帖之星
日期:2015-10-11 06:20:00IT运维版块每日发帖之星
日期:2015-11-10 06:20:00
15 [报告]
发表于 2017-01-09 00:03 |只看该作者
去年研究了下docker,发表下自己的看法吧

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
16 [报告]
发表于 2017-01-09 08:52 |只看该作者
本帖最后由 laputa73 于 2017-01-09 11:12 编辑

我理解docker的两大优点,屏蔽系统环境+应用隔离.
如果仅对web app而言。
传统的web容器, 在实际使用中,如果设计得当,也近似可以做到屏蔽系统环境,应用相对隔离。
java有app server, python也可以用virtual env, golang是静态编译的几乎无依赖。
但是底层还存在语言版本不一致的问题, 端口也可能存在冲突。
docker近一步简化了安装jdk, python,go这些底层语言级vm的工作,对端口也进行了一层映射.
至于再往下,屏蔽操作系统的差异,这个是vm解决的问题。docker目前还不好做。
docker的主要用途还是解决开发测试部署环境一致性问题和现场升级热部署问题。
安全性我觉得主要还是vm来解决
一个vm跑多个用户的docker应用我觉得意义不大。

论坛徽章:
8
数据库技术版块每日发帖之星
日期:2015-12-22 06:20:00平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2016-01-21 06:20:00IT运维版块每日发帖之星
日期:2016-02-03 06:20:00技术图书徽章
日期:2016-02-03 16:35:252016猴年福章徽章
日期:2016-02-18 15:30:34shanzhi
日期:2016-06-17 17:59:31JAVA
日期:2016-10-25 16:16:28
17 [报告]
发表于 2017-01-12 10:00 |只看该作者

1. Docker有什么好处?

Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,即通过对应用组件的封装(Packaging)、分发(Distribution)、部署(Deployment)、运行(Runtime)等生命周期的管理,达到应用组件级别的“一次封装,到处运行”。这里的应用组件,既可以是一个Web应用,也可以是一套数据库服务,甚至是一个操作系统或编译器。

Docker基于Linux的多项开源技术提供了高效、敏捷和轻量级的容器方案,并且支持在多种主流云平台(PaaS)和本地系统上部署。可以说Docker为应用的开发和部署提供了“一站式”的解决方案。Docker基于Linux的多项开源技术提供了高效、敏捷和轻量级的容器方案,并且支持在多种主流云平台(PaaS)和本地系统上部署。可以说Docker为应用的开发和部署提供了“一站式”的解决方案。

2. Docker和虚拟机有什么区别?

作为一种轻量级的虚拟化方式,Docker在运行应用上跟传统的虚拟机方式相比具有显著优势:

(1)Docker容器很快,启动和停止可以在秒级实现,这相比传统的虚拟机方式要快得多。

(2)Docker容器对系统资源需求很少,一台主机上可以同时运行数千个Docker容器。

(3)Docker通过类似Git的操作来方便用户获取、分发和更新应用镜像,指令简明,学习成本较低。

(4)Docker通过Dockerfile配置文件来支持灵活的自动化创建和部署机制,提高工作效率。

(5)Docker容器除了运行其中的应用之外,基本不消耗额外的系统资源,保证应用性能的同时,尽量减小系统开销。传统虚拟机方式运行N个不同的应用就要启动N个虚拟机(每个虚拟机需要单独分配独占的内存、磁盘等资源),而Docker只需要启动N个隔离的容器,并将应用放到容器内即可。

(5)在隔离性方面,传统的虚拟机方式多了一层额外的隔离。但这并不意味着Docker就不安全。Docker利用Linux系统上的多种防护机制实现了严格可靠的隔离。从1.3版本开始,Docker引入了安全选项和镜像签名机制,极大地提高了使用Docker的安全性。

3. 什么是虚拟化技术?

虚拟化技术是一个通用的概念,在不同领域有不同的理解。在计算领域,一般指的是计算虚拟化(Computing Virtualization),或通常说的服务器虚拟化。

维基百科上的定义如下:

在计算机技术中,虚拟化(Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以用比原本的组态更好的方式来应用这些资源。

可见,虚拟化的核心是对资源进行抽象,目标往往是为了在同一个主机上运行多个系统或应用,从而提高系统资源的利用率,同时带来降低成本、方便管理和容错容灾等好处。

从大类上分,虚拟化技术可分为基于硬件的虚拟化和基于软件的虚拟化。

4. 哪种系统最适合运行Docker?

Docker引擎的基础是Linux容器(Linux Containers,LXC)技术。Linux系统更适合运行Docker。现在主流的Linux操作系统都已经支持Docker。目前Docker 已经支持Windows,MacOS系统了。

5. Docker是否安全?

Docker容器,默认情况下,相当安全的。


论坛徽章:
0
18 [报告]
发表于 2017-01-15 00:45 |只看该作者
1. Docker有什么好处?
开销比虚机小

2. Docker和虚拟机有什么区别 ?
docker用内核隔离机制,虚拟机模拟硬件系统

3. 什么是虚拟化技术?


4. 哪种系统最适合运行Docker?
基于linux内核的系统

5. Docker是否安全?

论坛徽章:
0
19 [报告]
发表于 2017-02-03 14:10 |只看该作者
有全部版的吗

论坛徽章:
1
2017金鸡报晓
日期:2017-02-08 10:39:42
20 [报告]
发表于 2017-02-03 22:15 |只看该作者
1. Docker有什么好处? 大量的成品,可以直接从HUB上拉去环境方便开发测试等
2. Docker和虚拟机有什么区别        ?内核的复用,资源消耗少。
3. 什么是虚拟化技术?这个不太懂,只是在开发方面看过一点点VT
4. 哪种系统最适合运行Docker?最适合啊?我在Debian系的都跑过,Linux是比较适合的,虚拟程度很高,Windows上都是基于VBOX的,似乎没有体现出Docker的优势
5. Docker是否安全?我感觉容器的隔离很不错啊,我维护的一个站点就丢到了Dokcker中做环境隔离,子站点隔离,很不错的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP