• Docker 1.12.0将要发布的新功能


    导读 按计划,6/14 是1.12.0版本的 feature冻结 的日子,再有两个星期Docker 1.12.0也该发布了。这里列出来的新功能,都是已经合并到主分支的功能,不出意外,下一个版本的Docker应该是能体验到了。

    下周2016 DockerCon也该开始了,好像也有一场专门来讲Docker新特性的,不过在这之前,我们就可以抢先一步,浏览一下这些新功能、新特性。尤其是前两个,都是比较吸引人的功能。

    Swarmkit集成

    前几天Docker刚刚发布了 Swarmkit ,也就是Swarm V2,同时,在这个版本的Docker中,Swarm/Swarmkit 相关命令也被整合到了Docker子命令中。这可能算得上是1.12.0版本中最大的变更点了。

    这个PR(Add dependency to docker/swarmkit) 有600个文件变动。 除了传统的image和container对象,这个PR增加了task和service等资源类型,相关几个子PR包括 23362 、23363 、 23364。

    使用新的Docker命令,可以这样直接创建Swarm集群:

    $ docker swarm init --listen-addr 192.168.99.100:2377
    Swarm initialized: current node (09fm6su6c24qn) is now a manager.
    

    查看节点:

    $ docker node ls
    ID              NAME      MEMBERSHIP  STATUS  AVAILABILITY  MANAGER STATUS  LEADER
    09fm6su6c24q *  manager1  Accepted    Ready   Active        Reachable       Yes
    

    然后这样来部署一个新的service:

    $ docker service create --scale 1 --name helloworld alpine ping docker.com
    2zs4helqu64f3k3iuwywbk49w
    
    $ docker service ls
    ID            NAME        SCALE  IMAGE   COMMAND
    2zs4helqu64f  helloworld  1      alpine  ping docker.com
    

    需要scale了?没关系,也可以在Docker中直接完成:

    $ docker service update --scale 5 helloworld
    helloworld
    
    $ docker service tasks helloworld
    ID                         NAME          SERVICE     IMAGE   DESIRED STATE  LAST STATE          NODE
    1n6wif51j0w840udalgw6hphg  helloworld.1  helloworld  alpine  RUNNING        RUNNING 2 minutes   manager1
    dfhsosk00wxfb7j0cazp3fmhy  helloworld.2  helloworld  alpine  RUNNING        RUNNING 15 seconds  worker2
    6cbedbeywo076zn54fnwc667a  helloworld.3  helloworld  alpine  RUNNING        RUNNING 15 seconds  worker1
    7w80cafrry7asls96lm2tmwkz  helloworld.4  helloworld  alpine  RUNNING        RUNNING 10 seconds  worker1
    bn67kh76crn6du22ve2enqg5j  helloworld.5  helloworld  alpine  RUNNING        RUNNING 10 seconds  manager1
    

    在一台机器上使用 docker ps :

    $ docker ps
    
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    910669d5e188        alpine:latest       "ping docker.com"   10 seconds ago      Up 10 seconds                           helloworld.5.bn67kh76crn6du22ve2enqg5j
    a0b6c02868ca        alpine:latest       "ping docker.com"   2 minutes  ago      Up 2 minutes                            helloworld.1.1n6wif51j0w840udalgw6hphg
    

    我们也可以这样使用 dcoekr service 子命令。

    $ docker service create --scale 3 --name redis --update-delay 10s --update-parallelism 1 redis:3.0.6
    
    69uh57k8o03jtqj9uvmteodbb
    $ docker service tasks redis
    ID                         NAME     SERVICE  IMAGE        LAST STATE          DESIRED STATE  NODE
    3wfqsgxecktpwoyj2zjcrcn4r  redis.1  redis    redis:3.0.6  RUNNING 13 minutes  RUNNING        worker2
    8lcm041z3v80w0gdkczbot0gg  redis.2  redis    redis:3.0.6  RUNNING 13 minutes  RUNNING        worker1
    d48skceeph9lkz4nbttig1z4a  redis.3  redis    redis:3.0.6  RUNNING 12 minutes  RUNNING        manager1
    

    总之,新的Docker和Swarm结合在一起,管理集群和服务将会更方便。

    插件管理(Plugin repository,experimental版)

    PR地址: https://github.com/docker/docker/pull/23446

    插件管理功能可能算是第二大变更点了。很多软件都支持插件机制,大家比较熟悉的从Wordpress到ElasticSearch等,都支持在软件内部通过plugin功能安装、管理插件。

    Docker最近也增加了一些网络和卷管理的插件功能,这次还在体验版中增加了插件(基于容器)管理功能,可以通过 docker plugin 命令来管理插件。除了提供了一个统一的插件管理入口,还可以对插件的生命周期进行更好的管理,Docker君,我的插件写的比较不专业,请罩着我点。

    这是一个大概的使用示意,通过 docker plugin install 可以安装插件, docker plugin ls 可以列出当前安装的插件:

    $ docker plugin install aragunathan/no-remove
    Plugin "aragunathan/no-remove:latest" requested the following privileges:
     - Networking: host
     - Mounting host path: /data
    Do you grant the above permissions? [y/N] y
    

    查看插件列表:

    $ docker plugin ls
    NAME                    VERSION             ACTIVE
    aragunathan/no-remove   latest              true
    

    目前 docker plugin 支持如下子命令:

    plugin ls
    plugin enable
    plugin inspect
    plugin install
    plugin rm
    
  • 相关阅读:
    .Net Micro Framework中文讨论组
    .Net Micro Framework 4.0正式开源
    php论坛学习的一个遍历的问题(学习) 简单
    Visual C++ 2008入门经典 第十章标准模板库(二) 简单
    PHP类型转换&&类型强制转换 简单
    Visual C++ 2008入门经典 第九章练习题 简单
    Visual C++ 2008入门经典 第十章标准模板库 简单
    PHP服务端推送技术Long Polling 简单
    Visual C++ 2008入门经典 第九章类的继承和虚函数(三) 简单
    正则表达式学习一 简单
  • 原文地址:https://www.cnblogs.com/linux130/p/5619830.html
Copyright © 2020-2023  润新知