Docker 1.1.0 发布,新增.dockerignore 特性

阅读数:1740 2014 年 7 月 6 日

话题:DevOps语言 & 开发架构文化 & 方法

2014 年 7 月 3 日,Docker 官方网站上宣布了 1.1.0 版本。该版本改进了整个 Docker 生态系统,包括对 Docker Engine、Docker Hub 和文档的更新。

该版本主要包含如下特性:

新增.dockeringore 功能

现在,开发人员可以在 Dockerfile 之后添加.dockerignore 文件,在向守护进程发送构建上下文时,Docker 会忽略它指定的文件和目录。

该功能的出现解决了半年前GitHub 上一个热议的问题

提交过程暂停容器

在容器运行时提交不是一个好的做法,因为那会导致文件不一致。而现在,容器会在提交发生时暂停。

开发人员可以通过下面的语句禁用此功能:

docker commit --pause=false

跟踪日志

开发人员可以跟踪容器日志了。例如,他们可以使用下面的语句查看日志的最后 10 行:

docker logs --tail 10

允许使用 tar 文件作为 docker build 的上下文

开发人员可以传递一个 tar 包作为 docker build 的上下文,用于自动化 docker build 过程,例如:

cat context.tar | docker build –或者 docker run builder_image | docker build –

在一个容器中绑定挂载整个文件系统

/ 可以作为—volumes 的源了。也就是说,如果需要,开发人员可以在一个容器中绑定挂载整个文件系统。例如:

docker run -v /:/my_host ubuntu:ro ls /my_host

但是,不允许挂载到 /。

其它改进 & 变化

  • 改进了端口分配。在以前的版本中,Docker 不允许使用先前分配的端口启动容器,因为它们看上去正在使用,而实际上并没有。这点已经修复了。
  • 在上一个版本中,docker save 命令引入了一个 Bug,会生成元数据无效的镜像。现在不会了。
  • 现在,在容器中运行 docker inspect 会返回它链接的容器。
  • 改进了对 docker commit 标志的验证。
  • 改进了 start 和 stop 的状态码。
  • 改进了整体性能。守护进行的启动速度比先前的版本快了。
  • 修复了 Dockerfiles 中的空格和多行问题。

要进一步了解 Docker,可以注册一个免费 Docker Hub 账户,并尝试下10 分钟的在线教程。Docker Engine 1.1 的安装步骤,可参照官方文档