春节过后,时隔两个月, Docker 的又一个大版本 1.11.0 发布,除了功能的不断完善之外,该版本最大的看点无疑在于 Docker Daemon 的架构由原来一个模块,现在拆分为 4 个独立的模块,
关于这部分的实现与价值, DaoCloud 的 Docker 工程师将会在后续深层次披露。
作为在生产环境中深度使用 Docker 的科技公司, DaoCloud 同时也踊跃参与 Docker 软件的开源社区,为 Docker 贡献代码。本次 docker 1.11.0 版本的变更日志中,有关 info 信息的显示、配置文件加载的验证、请求返回码的更正等多个 pr ,均由 DaoCloud 的工程师孙宏亮完成实现并合并。
以下是 Docker 1.11.0 版本的完整变更日志。
使用 Docker 1.11 时,和往常有很大不同的是,现在 Linux 平台上 Docker 的安装包括 4 个不同的二进制文件,它们分别是 docker 、 docker-containerd 、 docker-containerd-shim 以及 docker-runc 。如果在你的环境中,有一些脚本是强依赖于单独一个的 docker 二进制文件,使用前需要确认更新这些脚本。与 Docker Daemon 的交互依然和以前保持不变,而其他部分的二进制文件的使用则可以认为对用户透明。另外,在 Windows 平台上,二进制文件依然以单独的 docker.exe 形式存在。
:
改为 =
pull
、push
、build
、login
和 search
操作中,可以加入用户代理,以传输至 Docker Registrydocker info
命令的执行过程中,如果内核与操作系统信息没有找到,提示警告信息docker stats --no-stream
命令输出有可能都是 0 的 Bugdocker stats
命令中的 Bug--hostname
参数不符合 RFC1123 的话,该参数会被拒绝传入docker ps
命令现在支持显示被挂载到容器内部的存储卷列表docker info
现在支持显示 Docker Daemon 的根目录地址docker ps
命令不再显示已经停止的容器的暴露端口docker save
和 docker export
操作失败的话docker load
命令现在支持显示一个进度条docker login
使用 docker/distribution 中的实现来处理 token 信息docker login
不再提示输入邮箱地址gelf-compression-type
和 gelf-compression-level
参数来制定压缩算法以及压缩级别--law-logs
参数来保证输入没有着色的日志etwlogs
fluentd-address
、fluentd-buffer-limit
、fluentd-retry-wait
、fluentd-max-retries
和 fluentd-async-connect
gcplogs
docker save
命令保存链接关系的镜像时,最终 docker load
命令会以父子的关系,重新保存这些镜像dockremap
目前会被作为默认用户创建docker info
会汇报 cgroup 内核内存的大小,或者在不支持该参数时发送一个告警docker info
目前可以支持 cgroup 驱动的显示docker network inspect
会显示所有的 endpointdocker network ls
的输出现在会以网络名进行排序docker network inspect
目前会显示一个网络是否是内部的docker network inspect
中以一个新的域 EnableIPv6
来实现docker inspect <image-id>
命令目前已经可以支持显示 rootfs 的 layerudev sync
不可用时, Docker 将拒绝运行 device mapperdm.min_free_space
,如果映射的设备剩余空间到达了设定值,那么新设备的创建也会被禁止--security-opt=no-new-privileges
禁止容器内的进程获取新的 privilege 的权限--device
启动一个容器时,现在将会重新解析符号链接--net=host
时, Docker 现在允许为容器再设定一个 hostname--privileged
和新的 --userns=host
参数被指定时, Docker 目前允许运行 privileged 容器时使用参数 --userns-remap
docker update
操作支持更新一个容器的重启策略docker inspect
现在返回一个新的 State
状态,包含了可读的容器状态pids-limit
来实现,当然这需要 Linux 内核版本的支持docker load
命令新添加了一个 --quiet
参数,来使得缓解运行输出pcp_pmcd_t
的对象,目前已经授予了访问 /var/lib/docker
的管理权限restart_syscall
、copy_file_range
和 mlock2
已经作为容器允许的系统调用,被加入至默认的 seccomp 文档中send
、recv
和 x32
已经加入至容器允许的系统调用,从而使得容器可以安装 32 位的软件包docker volume ls
的输出目前已经按照存储卷的名称来排序docker run -v
命令中,新添加一个新的 flag ,名为 nocopy
。这个标识符告知 Docker Daemon 不要拷贝容器中的内容到存储卷之中(原先这是一个默认的行为)老司机介绍|孙宏亮, DaoCloud 技术合伙人,主要负责 DaoCloud 企业级容器云平台的研发。对系统 Docker 化与微服务架构有丰富的经验,目前已出版《 Docker 源码分析》一书,也是国内第一批研究及实践 Docker 的工程师,同时也是国内社区极具影响力的 Docker 布道者。
1
qfdk 2016-04-22 06:19:17 +08:00
妈呀妈呀,送书不 哈哈哈。其实更期待 Docker 的 mac 版本,现在在 beta 阶段的🐳
|