Docker 粉们,是否还记得上一个 Docker 大版本的发布是什么时候?你的记忆是否已经模糊?
在中国春节即将到来之际,Docker 官方发布了跨时代的 Docker 1.10.0 版本,着实为猴年的到来献上了一份大礼。
如果说 Docker 1.9.0 的 overlay 网络意味着 Docker 在集群能力方面的质的飞跃,那么这次发布的 Docker 1.10.0 更是在多个方面实现重大突破。
总体而言,我认为这次新发布的 Docker 1.10.0 主要有以下这几方面意义非凡的变化和看点:
看完 Docker 1.10.0 的主要变化,我们来看一下这一版本更为细节的变化,相信 Docker Engine、安全、Distribution、网络、日志、存储卷 Volume 等多方面,总有一款适合您。详情请见下文:
docker update
,允许用户更新运行中容器的资源限制(对于资源的重分配意义很大,后期可以考虑集成) docker run
命令添加 flag 参数 --tmpfs
,用于为容器挂载一个内存文件系统,便于文件的快速读写 docker images
命令添加 flag 参数 --format
docker events
命令的内容输出,使其包含更多的元数据以及事件类型;但是,需要注意的是,此改动完全兼容 Docker 的 API,但是在 Docker CLI 中仍未支持 docker run
命令添加 flag 参数 --blkio-weight-device
docker run
命令添加 flag 参数 --device-read-bps
和 --device-write-bps
,用于磁盘 I/O 的读写 BPS docker run
命令添加 flag 参数 --device-read-iops
和 --device-write-iops
,用于磁盘 I/O 的 iops docker run
命令添加 flag 参数 --oom-score-adj
,用于容器进程发生 oom 现象时,如何选择 kill 进程的评分依据 run
、 attach
、 start
以及 exec
添加 flag 参数 --detach-keys
,以此来覆盖从容器退出的的默认键盘键,比如使用 Docker 客户端自定义的 ctrl+a 来作为这些命令的 ESC 键 docker run
、 docker create
以及 docker build
命令添加 --shm-size
,用于动态内存文件系统的大小(/dev/shm 等同于 tmpfs) docker info
命令的输出内容,为其添加运行容器的数目,停止容器的数目以及挂起容器的数目 docker info
命令的输出内容,为其添加操作系统类型以及机器结构 docker daemon
命令添加 flag 参数 --cgroup-parent
,从而为所有容器设置父 cgroup,即挂载于制定的 cgroup 路径下 docker cp
命令添加 flag 参数 -L
,使得 cp
命令不是仅仅拷贝符号链接,而是拷贝符号链接真实指向的内容 status=dead
,使命令 docker ps
的输出更符合用户需求 docker run
命令的返回码(exit code),从而区分在命令返回的原因究竟是 Docker Engine 的错误,还是容器内部应用自身的错误 docker events
命令中添加 --since
和 --util
参数后的内容输出,使其支持时区以及纳秒 docker stats
命令添加 flag 参数 -a/--all
,用于显示运行中容器以及停止容器的资源使用 cgroupfs
docker build -t
命令为某一镜像设置标签时,Docker Daemon 触发一个 tag 事件;换言之,Docker Daemon 新支持一种 tag 事件 docker build
命令为镜像设置多个标签(tag) docker build
命令的 flag 参数 --quiet
,使其真正意义上实现 quiet,即不输出构建过程的内容 docker images --filter dangling=false
,现在真正意义上显示的是所有的 non-dangling 镜像 docker volumes ls --filter dangling=false
,现在真正意义上显示的是所有的 non-dangling 的存储卷 docker exec
操作 --storage-opt dm.basesize
参数的增长会导致基础设备存储空间的增长 docker run
命令的 flag 参数 --security-opt
中,添加对自定义 seccomp 文档的支持,主要用户对容器应用在系统调用方面实现沙箱化 docker daemon
命令添加 flag 参数 --authorization-plugin
,用以支持自定义的访问控制列表(ACL) registryToken
的属性。该 Token 属性允许 API 客户端从一个镜像仓库中获取用户的认证 token,然后将 token 直接发给远程 API parent image
的概念,而是指向一系列的镜像层引用。同时 docker load/docker save
的压缩包现在会包含内容寻址镜像的配置文件 docker network connect
命令中添加网络方面的别名,如 --net-alias
,以及 docker run
命令时的 --alias
docker run
以及 docker network connect
命令添加参数 --ip
和 --ip6
,用以在一个网络中为容器自定义 IP docker network create
命令添加参数 --ipam-opt
,用于传入自动的 IP 地址管理(IPAM)的选项 --cluster-store-opt
参数中添加 kv.path
--cluster-store-opt
参数中添加 discovery.heartbeat
和 discovery.ttl
参数,用于配置服务发现的 TTL 以及心跳周期 docker network inspect
命令添加 --format
参数 docker network connect
命令添加 --link
参数,用以提供容器级别的别名 docker network disconnect
命令添加 --force
参数,用以强制容器从某个 network 中断开连接 docker run
命令中使用 --link
参数 docker network rm
命令,使其有能力一次删除多个 network docker inspect
命令的输出内容中添加所有容器的名称 docker network inspect
命令中,加入为用户自定义网络自动生成的子网地址 docker network ls
命令添加 flag 参数 --filter
,用以隐藏预先定义的 networks docker inspect
命令的返回结果中添加 network id --net=host
参数时,不为容器替换 127.0.0.1 的域名服务器地址 docker logs --since
和 --until
命令,用以支持纳秒 awslogs
,使其当 Docker Daemon 在 AWS EC2 上运行时,可以自动监测正确的 Amazon CloudWatch 的日志时区 ls
和 inspect
接口 .dockerignore
文件中添加对 **
的支持,实现通配多级目录 DOCKER_API_VERSION
环境变量来支持API版本覆盖的支持 LimitNPROC
添加 TaskMax
参数 docker daemon
命令中移除 flag 参数 --exec-driver
,因为此驱动已经不再会被使用 docker tag
命令的 -f
参数