Docker Tutorial Day 3: Services

本篇文章来源于官方文档,是我学习后的总结。



这是我docker学习之旅的第三篇文章

本篇文章的架构思路如下

1. 靠什么部署服务

2. 实际定义一个部署文件

3. 开始部署

4. 更新部署

5. 撤销部署

靠什么部署服务

答案是靠配置文件来部署服务,具体的配置文件叫做yml文件
之前我们就提过了docker的三个层次,分别是containers,services,stack,今天要说的就是第二层services
services就是不同的应用程序,更实际点说就是跑起来的多个container一个service只跑一个镜像,但是定义了这个镜像的运行细节,比如跑多少个镜像的副本,在哪个端口跑,在这里你肯定想到了一个专业名词叫做负载均衡
在docker里面是通过yml文件定义部署文件的,这种文件极其注重格式,也就是缩进,你的缩进如果不对劲的话,那么你可能就要吃大亏了,缩进有各自的层次,有点像Python代码风格(当然Python没那么严重),当你写好了yml后,可以复制内容到这里进行验证,在我们定义一个名为docker-compose.yml的文件,这内容是官方例子,具体内容如下,然后我依然对每一句都进行说明,如果有人要照抄我的这个文件,如果跑不起来,估计就是缩进有问题,你把我的注释都删了试试,再不行你就去docker官方找个例子。

实际定义一个yml文件

#version 和swarm有关,3以上的版本才能用swarm
version: "3"
#定义我们的服务
services:
        # 服务名称叫做web
        web:
            # 使用的镜像是 jsycdut/example:part1
            image: jsycdut/example:part1
            # 定义部署选项
            deploy:
                  # 跑5个镜像副本
                  replicas: 5
                  # 使用宿主机资源定义
                  resources:
                      # 资源限制
                      limits:
                            # 使用10%的CPU资源
                            cpus: "0.1"
                            # 使用50M的内存资源
                            memory: 50M
                  # 重启策略
                  restart_policy:
                     # 一旦失败就重启
                     condition: on-failure
           # 端口映射,container里面用的是80端口,宿主机使用的是4000端口
            ports:  
                  -  "4000:80"
            # 网络定义,使用webnet,它的定义在下面
            networks:
                  # webnet 是一个负载均衡网络
                  -  webnet
# 定义networks关键字
networks:
# 使用webnet,为默认设置
  webnet:

注意上面的ports那里,第一个数字是宿主机端口,也是我们的访问端口,第二个数字是container使用的内部端口。


接下来执行如下命令

开始部署服务
docker swarm init  //初始化一个集群,必要操作,因为5个镜像已经可以说是一个集群了
docker stack depoloy -c docker-compose.yml friendly-service //部署,命令格式为 docker  stack  deploy  -c  yml文件名  服务名,-c的意思是使用yml文件来部署的意思
docker stack ps friendly-service //查看我们服务的运行情况
更新部署
如果你要更新你的部署,只需要修改你的yml文件,然后重新部署即可。
撤销部署
docker stack rm friendly-service //干掉我们部署的服务,但是记住swarm还在,一会儿我们要强制退出swarm
docker node ls // 查看在运行的swarm
docker swarm leave --force // 强制退出swarm

    本文完
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容