docker未来之我见=一个dockerfile+一个script

docker未来之我见=一个dockerfile+一个script

docker repositories:https://registry.hub.docker.com/search?q=library&s=stars,仓库列表上有很多Image镜像

docker是一种部署各种app(可以是一个Linux OS如Ubuntu,Centos等,也可以是数据库如redis,mysql,mongodb等,也可以是Linux开发环境如rails,python,java等,还有其他在Linux上的各种应用都可以基于Linux OS去自己构建一个Image)到Linux上的工具。

一般构建docker app的步骤是:

1.从仓库中拉取相应的Image镜像
2.运行镜像未一个容器,同时配置容器的网络环境(很多工具可以做pipework,weave等),同时加载宿主数据卷(当然宿主也可以挂载网络上的数据卷)
3.进入容器,运行数据卷上对应到容器内的配置脚本,同时启动app服务
4.如果是集群app,那就把上面1~3步骤脚本化到每一个app,最后执行一个脚本命令配置好整个集群

另外一种是

用dockerfile自己做一个Image,具体参数请查看:http://docs.docker.com/reference/builder/#usage

在云计算时代,各种云服务很多,一般的做法是购买几台Linux云虚拟机,然后在每一台上面装好docker组件(如果没装的话),当然如果公司有钱的话,可以一套用于开发,一套用于部署,一套用于测试,如果公司很缺钱,只要一台部署就可以了,当然如果已经服务上线了这是有风险的。在docker上,你可以很灵活的实现各种服务的集群和迁移管理(当然这块技术很复杂。。),如果你只有一台服务器,想把所有app服务都放在上面,肯定够呛,不过也不是不可以,只不过性能和安全性方面风险很大,所有docker一般还是部署在多台服务器进行集群运行,因为我们并不能保证哪台服务器下一秒钟不工作,如果我们还有一批线下的服务器,也可以通过weave和各种云中的docker配置到同一个虚拟网络来进行管理(如在Azure上一个CoreOS集群上安装Weave Docker虚拟网络:https://github.com/chanezon/azure-linux/blob/master/coreos/weave/README.md),当然线下服务器来进行数据或者大数据分析相比网络服务器来说成本低很多。

个人觉得,docker未来的发展,除了完善好现有的docker平台和网络管理,cpu,内存限制等技术外,还有一个发展就是所有的app在未来包括集群app,未来只需要一个简单的dockerfile和一个简单的集成化脚本,build完用户需要的服务就已经搭建成功了,其实现在很多的docker相关的项目都是用dockerfile写的,如Fig,shipyard,dockerui等等。

时间: 2024-11-05 22:50:45

docker未来之我见=一个dockerfile+一个script的相关文章

docker 1.0.0发布以及一个bug依赖apparmor_parser

6月10号docker 1.0稳定版本发布,找了台ubuntu的机器,装了下 ubuntu version:12.04 docker version:1.0.0 装docker的步骤可以看官方文档:https://docs.docker.com/installation/ubuntulinux/ 装好之后,运行docker -d尝试启动docker守护进程,报错如下: [0fcb4ed6] +job serveapi(tcp://127.0.0.1:2375) [0fcb4ed6] +job i

安装docker并使用默认镜像创建一个容器

1.安装docker 命令:yum install –y docker-i 错误解决:如果device-mapper-libs 这个docker依赖包版本太低.可以直接执行yum upgrade device-mapper-libs升级一下这个依赖包 2.Docker装好后,默认自动启动或使用命令启动:service docker start 3.查看版本:  docker –v  来查看当前装的docker版本 4.查看当前所有镜像: docker 安装好后,有个默认cento63镜像,可以选

【VMCloud云平台】拥抱Docker(六)关于DockerFile(3)示例

在前面两篇中,我们讲了大部分参数,今天将介绍另外两个较为重要的参数,然后再将前面两章的知识串起来,做一个DockerFile,实现VIM/SSH镜像. 以下就是今天所要说DockerFile涉及的环境: . DockerFile简易示意图: 1. VOLUME参数:看过我们介绍VOLUME篇的同学应该都知道VOLUME这个参数是用来干啥的,这里就不做多介绍了,如果在dockerfile里不指定的话,可以通过-v进行指定,当然两者是有区别的,具体可以参考Docker篇第五章. 2. WORKDIR

Docker镜像与仓库(二)Dockerfile

Docker镜像文件与仓库(二) Docker镜像文件与仓库(二) Dockerfile指令 Dockerfile格式: 1.#Comment注释2.INSTRUCTION大写的指令名 argument参数 FROM 1.FROM <image>2.FROM <image>:<tag>3.#通过FROM指定的镜像名都必须是已经存在的镜像,这个镜像叫做基础镜像,而且必须是第一条非注释指令 MAINTAINER 1.MAINTAINER <name>2.#指定镜

京东云、新浪微博等专家畅谈Docker未来格局:开放与竞争(上)

田琪(@摇摆巴赫)是京东资深架构师,10年互联网行业从业经验,之前曾分别就职于搜狐.新浪.腾讯等公司,目前负责京东云主机及云数据库的架构及研发工作,对云计算基础技术有深刻理解. DockerCon 2015于6月22-23号在美国旧金山落下帷幕,这个由Docker公司发起的Docker领域峰会,包括Docker公司CEO在内的多位领域专家发表了精彩演讲.峰会展示着Docker领域的成就,也预示着Docker领域的未来方向.田琪作为国内容器化方向的先行者,受邀参加了此次峰会,峰会上究竟有哪些见闻,

docker学习笔记18:Dockerfile 指令 VOLUME 介绍

在介绍VOLUME指令之前,我们来看下如下场景需求: 1)容器是基于镜像创建的,最后的容器文件系统包括镜像的只读层+可写层,容器中的进程操作的数据持久化都是保存在容器的可写层上.一旦容器删除后,这些数据就没了,除非我们人工备份下来(或者基于容器创建新的镜像).能否可以让容器进程持久化的数据保存在主机上呢?这样即使容器删除了,数据还在. 2)当我们在开发一个web应用时,开发环境是在主机本地,但运行测试环境是放在docker容器上. 这样的话,我在主机上修改文件(如html,js等)后,需要再同步

docker学习笔记17:Dockerfile 指令 ONBUILD介绍

ONBUILD指令可以为镜像添加触发器.其参数是任意一个Dockerfile 指令. 当我们在一个Dockerfile文件中加上ONBUILD指令,该指令对利用该Dockerfile构建镜像(比如为A镜像)不会产生实质性影响. 但是当我们编写一个新的Dockerfile文件来基于A镜像构建一个镜像(比如为B镜像)时,这时构造A镜像的Dockerfile文件中的ONBUILD指令就生效了,在构建B镜像的过程中,首先会执行ONBUILD指令指定的指令,然后才会执行其它指令. 需要注意的是,如果是再利

Docker学习总结(1)——Docker实战之入门以及Dockerfile(一)

一.Docker是什么? 首先Docker是软件工业上的集装箱技术 回顾,在没有集装箱出现以前,传统运输行业中,会存在这些问题: 在运输过程中,货物损坏 装卸.运输货物,效率低下 运输手续繁多及运输环节多 劳动强度大,及船舶周转慢 在集装箱出现后,完全改变了这种状况,是由于集装箱: 规则标准化,大大减少了包装费用 大大提升了货物装卸效率.及运输效率 不同种运输工具之间转换更容易 所以,集装箱出现是传统行业中的一次重大变革 传统软件行业中存在的问题 软件更新发布低效 业务无法敏捷 环境一致性,难于

【Docker系列教程之四】Dockerfile入门

在上一篇的文章中,我们把 Docker 容器的工作流程剖析的十分清楚了,我们大体可以知道 Docker 组件协作运行容器可以分为以下几个过程: Docker 客户端执行 docker run 命令 Dockerdaemon 发现本地没有我们需要的镜像 daemon 从 DockerHub 下载镜像 下载完成后,镜像被保存到本地 Dockerdaemon 启动容器 了解了这些过程以后,我们再来理解这些命令就不会觉得很突兀了,下面我来给大家讲讲 Docker 常用的一些命令操作吧. Docker常用