Docker,改变程序世界的箱子

Docker容器是什么鬼?

简言之,

Docker容器就是一个软件集装箱。

装什么?

特定版本的操作系统、数据库、服务器程序和 web 应用等……

Docker容器解决何种问题?

Docker容器主要用于解决环境管理问题。所以,Docker容器也是一种解决方案。

举个栗子。

作为一名产品狗,当你从开发哥那里要一个最新版的软件来体验功能,结果装在自己的电脑上打开就挂掉,这个时候找开发哥来解决,开发哥一看就会说 “哦,你这环境不对,换个 Win8 吧,这软件只能在 Win8 以上运行”,或者说 “这个软件需要.Net 框架,你装个.Net 就好了”。

那么,问题来了?

一些 web 服务,它所依赖的软件及关联软件可能有上百个,让你去配一台机器已经要吐血了,如果让你把这个服务发布到 100 台不同的机器上,那么你就应该会阵亡了。同时,很有可能因为不同的机器已有的环境不同,你安装这些依赖的同时还要保证不能影响其它已有应用。

说了这么多,其实就是三个大问题,如何解决环境依赖?如何解决大规模部署?如何解决应用与应用的互相影响?

这些问题,Docker容器来帮你搞定。

如何使用Docker?

当要发布服务的时候,直接将这个集装箱放在我们的服务器船上。如果你想发布到 100 台机器上,没问题,只需要 ctrl-c、 ctrl-v,将这些集装箱复制到 100 台机器上,它不会在乎船的配置高低,只要能放得下就行。

如果你想发布 10 个不同的服务,还是没问题,你只需将这 10 个不同的集装箱依次排列在服务器船上,它们之间完全不会互相影响,因为各自被锁在不同的箱子里。

Docker VS 虚拟机

Docker是轻量级的虚拟机,

Docker比传统的虚拟机更快,更节省资源。

虚拟机就像轮船上的豪华包间,

占据大量资源,自己不用,别人也用不了;

Docker容器是简单集装箱,

Docker容器只占据自己需要的资源。

原文发布于微信公众号 - 交互设计前端开发与后端程序设计(interaction_Designer)

原文发表时间:2016-11-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT大咖说

起底Kolla:OpenStack容器化项目的实践

摘要 本次分享主要是讲解OpenStack在Docker化项目上的一些实践、遇到的问题,还有后续会做的事以及遇到的挑战。 ? OpenStack交付工具 在Op...

48411
来自专栏生信技能树

跟着jimmy学docker系列之第2讲:一个软件一个容器

回过头来看当初在生信技能树发布的docker教程已经是2017-07-07的事情了,那是一个好日子?:

1442
来自专栏我是攻城师

容器化网页应用

3626
来自专栏企鹅号快讯

【分享吧】带你初识Docker

一、引言 如今,Docker作为业界领先的轻量级虚拟化容器管理引擎,给全球开发者提供了一种新颖、便捷的软件集成测试与部署之道。Docker借助容器技术彻底释放了...

2405
来自专栏CSDN技术头条

如何解决容器网络性能及复杂网络部署问题?

近两年,容器已经随着 Docker 技术的传播火遍全球,现在已经有越来越多的企业用户在开发、测试甚至生产环境中开始采用 Docker 等容器技术。 然而,目前主...

64310
来自专栏A周立SpringCloud

Docker 17.03系列教程(一)Docker EE/Docker CE简介与版本规划

近日,Docker发布了Docker 17.03。进入Docker 17时代后,Docker分成了两个版本:Docker EE和Docker CE,即:企业版(...

3247
来自专栏bdcn

CoreOS那些事之Rkt容器尝鲜(上) 转

从CoreOS发布Rocket应用容器项目到现在,已经过去半年时间了。为了增加辨识度,项目更名为了Rkt。在沉寂了许久后,最近又开始在社区里出现了一些新鲜的声音...

3552
来自专栏北京马哥教育

高中生也能读懂的Docker入门教程

Docker 是 Golang 编写的, 自 2013 年推出以来,受到越来越多的开发者的关注。如果你关注最新的技术发展,那么你一定听说过 Docker。不管...

3947
来自专栏云计算

OpenShift的容器镜像(第1部分):目标

本文来源于2017 EMEA (Europe, the Middle East and Africa,欧洲,中东和非洲) 红帽技术交流会议的会议记录,与会者包括...

2786
来自专栏Janti

每天学一点Docker(4)-深入了解容器概念

什么是容器? 容器是一个自包含,可移植,轻量级的软件打包技术。是应用程序在任何地方几乎以相同方式运行。开发人员在开发机上创建好容器,无需任何修改就能在虚拟机,云...

3644

扫码关注云+社区

领取腾讯云代金券