【云计算】Docker与容器快速入门

本文介绍了Docker作为轻量级虚拟机的原理和作用,对比了虚拟机与容器的解决方案,阐述了Docker在解决复杂应用部署问题上的优势,包括隔离性、重复性、安全性、资源限制等方面。此外,还探讨了Docker的缺点和未来发展方向。
摘要由CSDN通过智能技术生成

Docker之风席卷全球,但很多人觉得docker入门确实不太容易,其原因在于很多知识点上没准备好,在docker解决了什么问题、怎么解决的、用什么技术解决的都还没想清楚的时候就去探索docker组件原理,自然会犯迷糊,与其迷茫地寸步难行,不如先看看知识准备,入门了继续进行研究。
Docker是一种在Linux容器里运行应用的开源工具,一种轻量级的虚拟机。除了运行应用,Docker还提供了一些工具,借助Docker Index或自己托管的Docker注册表对进行了集装箱化处理的应用进行分发,从而简化复杂应用的部署过程。
本文将介绍如今在部署复杂系统时公司所面临的挑战,Docker怎样有效地解决这个问题,在宏观上对docker项目进行介绍,并发表一些自己理解的看法。之后的文章会慢慢深入,对docker模块逐个剖析。

0x01 什么是容器

容器指用来包装或装载物品的贮存器(如箱、罐、坛)或者成形或柔软不成形的包覆材料。在web环境中,容器是应用服务器中位于组件和平台之间的接口集合。在docker级别,容器可以理解为一个边界,边界里面是所想运行的各种程序,边界外面是基础环境,边界里外尽量少的耦合。
这里写图片描述

0x02 容器的作用

服务器应用的部署已经越来越复杂了。把几个Perl脚本拷贝到正确目录就完成服务器应用的安装,这种时代已经一去不复返了。如今的软件有很多类型的需求:
对已安装软件和库的依赖(“Python版本高于2.6.3,使用Django 1.2”)
依赖于正在运行的服务(“需要一个MySQL 5.5数据库和一个RabbitMQ队列”)
依赖于特定的操作系统(“在64位的Ubuntu Linux 12.04上构建、测试”)
资源需求:
最小的可用内存(“需要1GB的可用内存”)
能绑定特定的端口(“绑定80和443端口”)
我们来看一个相对简单的应用的部署:Wordpress。Wordpress的安装通常要求:
这里写图片描述
在服务器上部署、运行这样一个系统,我们可能会遇到下面的问题和挑战:
隔离性:如果我们已经在这个服务器上部署了不同的网站,已有的网站只能在nginx上 运行,而Wordpress依赖于Apache,这时我们就会有麻烦:它们都监听80端口。同时运行两个网站是可以的,但需要调整配置(修改监听端口), 设置反向代理等。库级别也会出现类似的冲突,如果还要运行一个仍然依赖PHP4的老应用就会出问题,因为Wordpress不再支持PHP4,同时运行 PHP4和PHP5则非常困难。运行在同一个服务器上的应用没有互相隔离(在文件系统级别和网络级别),所以它们可能会互相冲突。
**安全性:**Wordpress的安全记录并不是非常好。所以还是给它创建个沙箱,至少黑客入侵时不会影响其他运行的应用。
升级、降级:升级应用一般会覆盖现有文件。升级过程中会发生什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值