V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dataman
V2EX  ›  推广

敲黑板,划重点: Docker 1.13 更新有哪些看点?

  •  
  •   dataman · 2017-02-06 18:38:48 +08:00 · 1318 次点击
    这是一个创建于 2829 天前的主题,其中的信息可能已经有所发展或是发生改变。

    开工啦开工啦!告别热闹的春节,新的一年又开始了,数人云带着干货,与大家共勉^_^

    Docker 刚刚发布了 1.13 最新版,新添了很多特性让高可用服务的部署更加简单,同时也引入了一些命令和工作流程来改善 Docker 用户的开发体验。小伙伴可以在 GitHub 上看到完整的版本发布信息,本文为大家将更新的重点梳理出来,做一个总结。

    调度更新

    Docker1.13 包含一些在 Swarm Mode 下运行服务的改进更新。现在可以给滚动更新的镜像打上摘要标识(比 tag 更特别),在镜像拉取时服务有了更好的记录,减少了记录中的噪声和日志垃圾。对于docker service logs实验性的支持也加进来,集群中运行服务的日志观察有了一个更简单的方式。

    更新以后,在 Swarm 集群上调度的任务,出错后更容易发现,错误信息也更加明确。调度算法会更平均地分配同类型的任务。

    假设有两个容器运行服务 A ,三个容器运行服务 B 。最坏的情况是在一个两节点的集群,所有运行 A 的容器被调度在一个节点,所有运行 B 的容器在另一个。如果一个节点挂了,其中所有的服务都会不可用。通过调整调度器可以避免此种类型工作负载分配的发生。

    新的删除指令确保系统健康

    如果大家像笔者一样,那么docker ps -a | grep 'Exited' | awk '{print $1}' | xargs docker rm(或者更极端的docker rm -f $(docker ps -aq))以及docker rmi -f $(docker images -q)都是些每天要用上几次的命令,来保证工作空间的整洁。

    Docker1.13 引入了prune命令,帮助确保系统健康,通过轻松删除无用资源减少 Docker 痕迹。运行docker system prune将会一键删除所有停止的容器,无用的镜像和网络 volume 。

    如果你更喜欢rm命令,那也没关系,它们依旧工作,但是prune更简单。

    全新的 CLI

    Docker 在过去几年成长了许多,每次发布更新都为 CLI 添加了很多新鲜有趣的内容。然而, CLI 快速发展导致很多 Docker 的新用户很难理解它。在 Docker 1.13 , CLI 作出调整,聚焦于顶层资源的所有命令。最大的改变在于docker container作为容器的一个管理命令。旧的语法仍然可用,但是 Docker 鼓励用户开始使用新管理命令与 CLI 交互。

    改进构建和缓存机制

    缓存中毒是一个真正的威胁,从 1.10 版本开始,从远程镜像仓库使用镜像拉取时, Docker 的新特性可以保护镜像免于缓存毒害。在 1.10 之前,在主机创建新镜像时,并不采用从远程登录拉取镜像层。它同样适用于从一个可信源拉取镜像。

    在 Docker 1.13 ,可以使用新的运行时标记--cache-from来指定你希望重建的镜像,使用的是从远程镜像仓库拉下来的镜像缓存。由你来决定镜像缓存是否可靠,从而远离缓存中毒。

    此外, docker build 有了两个新标记,--compress--squash。当 Compress 被发送到 daemon ,它会通过压缩 build context 提升镜像构建速度。--squash仍然处于实验阶段,它会把镜像压到一层,在一定程度上简化构建过程,但是如果你严重依赖缓存,可能会导致比较难以实现。

    Docker Compose V3 语法

    Docker 1.13 包含一些全新的东西——一个升级和扩充的 Docker Compose 语法版本。我们把它称为 V3 ,这套语法有点与众不同,因为它是用来将 Docker 服务部署到一个 Swarm 集群。它与 V2 有很多相同之处,但是应该被看做另一个 DSL 。

    使用一个 V3 文件,可以通过docker stack deploy --compose-file=docker-compose.yml轻松部署到 Swarm 集群。 V3 语法可以帮助统一 Docker Compose 文件,在开发和生产环境轻松切换。如果你对 V3 的细节感兴趣,可以在 GitHub repo docker/compose看其结构。

    作者: Laura Frank 文章来源: https://blog.codeship.com/whats-new-docker-1-13/

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5761 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 01:42 · PVG 09:42 · LAX 17:42 · JFK 20:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.