小编给大家分享一下为什么使用docker,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
创新互联专注于苏家屯企业网站建设,成都响应式网站建设,商城开发。苏家屯网站建设公司,为苏家屯等地区提供建站服务。全流程按需求定制开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
##操作docker docker可以简单的看做一个虚拟机镜像的git,常用的命令大概有这么几个:
载入一个镜像
docker pull user/image:tag
显示本地的镜像
docker images
用镜像开启一个容器,并交互的方式运行命令行
docker run -it imageId /bin/bash
结束container按Ctrl+D,退出container按Ctrl+Q+P;
列举所有状态的容器
docker ps -la
以交互模式启动一个容器
docker start -i containerId
##AWS ECS AWS把Elastic Beantalks也看做容器服务,现在也支持载入docker镜像。当用户只想拿着镜像就开跑的话,AWS建议使用Elastic Beantalks。
AWS ECS则提供了更为复杂的环境:可以创建多个instance的cluster,每个cluster上可以创建多个task,可以灵活使用ELB,可以做source/container文件系统映射。
要注意每一个task应该是一个完整的体系,比如说一整个LAMP。
##Why docker? docker的最大优势在于快速、低成本的虚拟化,可以做到一个宿主机上部署几十甚至上百个几乎一模一样的环境。而大数据领域更多的是多个instance联合起来成为大的集群以获取更强大的能力 - hadoop集群、spark集群、akka集群都是这样。我的思考是这两者是利用硬件资源的两个相反的方向:一个聚小成多,一个切大成小。
那到底什么时候我们应该考虑使用docker?(除了装软件真的装不上这种苦逼事以外)
多租户环境/PAAS,这是最好理解的应用场景,如Leancloud这样的数据库平台;
开发、测试、部署环境,这比较好理解,但是放在大数据领域却难以实现,因为一个docker无法放下整个环境;
多版本维护、升级部署、代码回滚,
数据处理组件的部署,尤其是scalable的worker,如ETL。说起来以前我们Rails下的crawler确实可以包装成docker。worker的部署再怎样也是自动化的,于是感觉唯一会带来的好处可能是dockfile会比ansible playbook稍微好写一点(待定)。
那docker在大数据领域到底有没有用,比如说能不能和hadoop配合?当然有,除了这种高端技术以外,至少我们可以在一台本机上部署一个多节点hadoop集群了不是?
以上是“为什么使用docker”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!