Docker 服务
1.? Docker服务 作为一名后端攻城狮,对“服务”这个概念一定不陌生。比如,我们做一个会员系统,它可能会需要数据库、缓存、消息队列,这些都是中间件服务,除此以外可能还需要依赖其它的Dubbo服务。 在Docker中,服务就是用于生产环境的容器(“containers in production”)。我们可以这样来理解这句话,当我们运行某个镜像时,其实就产生了一个镜像实例,这个实例我们把它叫做容器,接下来我们对它做个升级,比如一些配置负载均衡,配置域名解析映射等,最终它以web服务的形式运行,那么这个升级版的容器就是Docker服务。可以设想一下开发一个Java应用程序是怎样的过程,首先建一个工程,然后编写代码,打成jar包,在内网运行,配置nginx,配置告警及监控,经过这一系列操作后,客户端才能通过公网访问到这个服务。(PS:类比Java的话,镜像就是类,容器就是对象,服务就是一个成型的APP产品,或者叫服务) 一个服务只运行一个映像,但是它将镜像运行的方式进行了编码,比如应该使用什么端口,应该运行多少个容器副本,以便服务具有所需的能力,等等。可以通过改变运行该软件的容器实例的数量来对服务进行扩容,从而为流程中的服务分配更多的计算资源。 幸运的是,使用Docker平台很容易定义、运行和扩容服务。只需要写一个docker-compose.yml文件即可。 2.? 第一个docker-compose.yml文件 创建一个文件,文件命名为docker-compose.yml,将下列内容粘贴到文件中,保存 一个docker-compose.yml文件是一个YAML文件,它定义了Docker容器在生产环境中的行为。 这个docker-compose.yml文件告诉Docker要做以下事情:
3.? 运行新的负载均衡的APP 首先,运行 接下来,给APP起个名字,比如叫getstartedlab 我们的单个服务堆栈在一台主机上运行了5个容器实例,让我们来看一看 除了“docker service ls”,我们还可以通过“docker stack services”来查看 还可以通过修改docker-compose.yml来动态的扩展app,修改为后需要再执行一次 完整的演示 4.? 备忘单 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何压缩和优化Angular2应用程序
- scala – Cats Seq [Xor [A,B]] => Xor [A,Seq [B]]
- Vim Dvorak键绑定(rebindings :)
- WebService学习笔记-Ajax通过servlet请求跨域Webservice
- Angular 2,从不为实现OnActivate的组件调用routerOnActivat
- 检查mysql数据库是否存在坏表
- 你如何在Scala中定义一个package-private * trait *?
- disable bootstrap
- shell 点号 空格 脚本 和 修改alluxio启动脚本的java路径
- 将Scala应用程序导出到可运行的JAR