Docker 是一个开源的,革命性的软件项目,允许应用程序开发人员和系统管理员在任何地方轻松快速地打包,分发和运行应用程序作为轻量级容器。
它是一个命令行应用程序,由两个组件组成,Docker Hub从头开始设计,用作共享应用程序和自动化工作流的云服务,以及Docker Engine,它是实际的服务器进程旨在管理所有容器。
自动部署和打包应用程序
该软件可用于自动化应用程序的部署和打包,创建私有和轻量级PAAS(平台即服务)环境,自动化测试,以及持续部署和集成,以及扩展和部署Web应用程序,后端服务和数据库。
Linux容器引擎
由其开发者称为“Linux容器引擎”,“系统管理员和开发人员可以将Docker用作分布式应用程序的开放平台,允许他们构建,发布和运行任何分布式应用程序。
支持的操作系统
目前,Docker仅在GNU / Linux操作系统上运行。它已成功通过各种Linux发行版测试,包括Debian,Ubuntu,Arch Linux,Fedora,openSUSE,以及CentOS和Red Hat Enterprise Linux。
引擎盖和可用性
该软件完全采用Google开发的Go编程语言编写。它作为单个通用源存档分发,可以在几乎任何基于Linux内核的操作系统上进行优化和部署,支持32位和64位硬件平台。
什么是新版本:
- 生成器:
- 添加多阶段构建支持#31257#32063
- 允许在FROM#31352 中使用构建时间args(ARG)
- 添加用于指定构建目标#32496 的选项
- 接受-f - 从stdin读取Dockerfile,但使用本地上下文构建#31236
- 除非在Dockerfile中写入相应的ARG指令,否则默认构建时参数(例如HTTP_PROXY)的值不再显示在泊坞窗图像历史记录中。 #31584
- 如果在父图像中使用自定义shell,则修复设置命令#32236
- 修复泊坞窗构建 - 标签包含单引号和空格#31750 时的标签
- 客户端:
- 将--mount标志添加到docker run和docker create#32251
- 将--type = secret添加到docker inspect#32124
- 将--format选项添加到docker secret ls#31552
- 为docker secret ls添加--filter选项#30810
- 将--filter scope =添加到docker network ls#31529
- 将--cpus支持添加到docker update#31148
- 将标签过滤器添加到docker system prune和其他剪枝命令#30740
- docker stack rm现在接受多个堆栈作为输入#32110
- 在客户降级API版本#31022时改进docker version --format选项
- 使用加密的客户端证书连接到docker守护程序时提示#31364
- 在成功的docker build#32077 上显示创建的标签
- 清理撰写转换错误消息#32087
- 的Contrib:
- 在amd64#32435上为Ubuntu 17.04 Zesty添加对docker debs的支持
- 守护程序:
- 修复 - 如果未设置--api-enable-cors,则忽略--api-cors-header#32174
- 清理码头tmp目录开始#31741
- 弃用-graph标志赞成或--data-root#28696
- 日志记录:
- 添加对日志驱动程序插件的支持#28403
- 添加对将各个任务的日志显示到docker服务日志的支持,并添加/ task / {id} / logs REST端点#32015
- 使用正则表达式添加--log-opt env-regex选项以匹配环境变量#27565
- 网络:
- 允许用户更换和自定义入口网络#31714
- 修复容器重启后无法正常工作的UDP流量#32505
- 如果设置了不同的数据根,则修复正在写入/ var / lib / docker的文件#32505
- 运行时:
- 确保在容器退出#32274 时停止运行状况探测
- 群体模式:
- 添加服务的更新/回滚顺序(--update-order / --rollback-order)#30261
- 添加对同步服务创建和服务更新的支持#31144
- 添加对“宽限期”的支持通过HEALTHCHECK --start-period和--health-start-period标志来健康检查
- docker service create,docker service update,docker create和docker run以支持初始启动的容器
- 时间#28938
- docker service create现在会在可能的情况下省略用户未指定的字段。这将允许在经理#32284 中应用默认值
- docker service inspect现在显示未由用户指定的字段的默认值#32284
- 将docker服务日志移出实验#32462
- 将对Credential Spec和SELinux的支持添加到API#32339 的服务中
- 将--entrypoint标志添加到docker service create和docker service update#29228
- 将--network-add和--network-rm添加到docker服务更新#32062
- 将--credential-spec标志添加到docker service create和docker service update#32339
- 添加--filter mode =到docker service ls#31538
- 在创建服务时,在客户端而不是在守护程序中解析网络ID#32062
- 将--format选项添加到docker node ls#30424
- 为docker stack deploy添加--prune选项以删除docker-compose文件中不再定义的服务#31302
- 使用入口模式#30813 时,为docker service ls添加PORTS列
- 使用环境变量时修复不必要的重新部署任务#32364
- 从docker撰写文件进行部署时修复docker stack deploy不支持endpoint_mode#32333
- 如果无法创建群集组件以允许从损坏的群集设置中恢复,则继续启动#31631
- 安全性:
- 使用--ipc = container时允许设置SELinux类型或MCS标签:或--ipc = host#30652
- 弃用:
- 弃用--api-enable-cors守护程序标志。此标志在Docker 1.6.0中已标记为已弃用,但未在已弃用的功能#32352 中列出
- 删除Ubuntu 12.04(精确穿山甲)作为支持的平台。 Ubuntu 12.04是EOL,不再收到更新#32520
18.05.0版中的新功能:
- 生成器:
- 添加多阶段构建支持#31257#32063
- 允许在FROM#31352 中使用构建时间args(ARG)
- 添加用于指定构建目标#32496 的选项
- 接受-f - 从stdin读取Dockerfile,但使用本地上下文构建#31236
- 除非在Dockerfile中写入相应的ARG指令,否则默认构建时参数(例如HTTP_PROXY)的值不再显示在泊坞窗图像历史记录中。 #31584
- 如果在父图像中使用自定义shell,则修复设置命令#32236
- 修复泊坞窗构建 - 标签包含单引号和空格#31750 时的标签
- 客户端:
- 将--mount标志添加到docker run和docker create#32251
- 将--type = secret添加到docker inspect#32124
- 将--format选项添加到docker secret ls#31552
- 为docker secret ls添加--filter选项#30810
- 将--filter scope =添加到docker network ls#31529
- 将--cpus支持添加到docker update#31148
- 将标签过滤器添加到docker system prune和其他剪枝命令#30740
- docker stack rm现在接受多个堆栈作为输入#32110
- 在客户降级API版本#31022时改进docker version --format选项
- 使用加密的客户端证书连接到docker守护程序时提示#31364
- 在成功的docker build#32077 上显示创建的标签
- 清理撰写转换错误消息#32087
- 的Contrib:
- 在amd64#32435上为Ubuntu 17.04 Zesty添加对docker debs的支持
- 守护程序:
- 修复 - 如果未设置--api-enable-cors,则忽略--api-cors-header#32174
- 清理码头tmp目录开始#31741
- 弃用-graph标志赞成或--data-root#28696
- 日志记录:
- 添加对日志驱动程序插件的支持#28403
- 添加对将各个任务的日志显示到docker服务日志的支持,并添加/ task / {id} / logs REST端点#32015
- 使用正则表达式添加--log-opt env-regex选项以匹配环境变量#27565
- 网络:
- 允许用户更换和自定义入口网络#31714
- 修复容器重启后无法正常工作的UDP流量#32505
- 如果设置了不同的数据根,则修复正在写入/ var / lib / docker的文件#32505
- 运行时:
- 确保在容器退出#32274 时停止运行状况探测
- 群体模式:
- 添加服务的更新/回滚顺序(--update-order / --rollback-order)#30261
- 添加对同步服务创建和服务更新的支持#31144
- 添加对“宽限期”的支持通过HEALTHCHECK --start-period和--health-start-period标志来健康检查
- docker service create,docker service update,docker create和docker run以支持初始启动的容器
- 时间#28938
- docker service create现在会在可能的情况下省略用户未指定的字段。这将允许在经理#32284 中应用默认值
- docker service inspect现在显示未由用户指定的字段的默认值#32284
- 将docker服务日志移出实验#32462
- 将对Credential Spec和SELinux的支持添加到API#32339 的服务中
- 将--entrypoint标志添加到docker service create和docker service update#29228
- 将--network-add和--network-rm添加到docker服务更新#32062
- 将--credential-spec标志添加到docker service create和docker service update#32339
- 添加--filter mode =到docker service ls#31538
- 在创建服务时,在客户端而不是在守护程序中解析网络ID#32062
- 将--format选项添加到docker node ls#30424
- 为docker stack deploy添加--prune选项以删除docker-compose文件中不再定义的服务#31302
- 使用入口模式#30813 时,为docker service ls添加PORTS列
- 使用环境变量时修复不必要的重新部署任务#32364
- 从docker撰写文件进行部署时修复docker stack deploy不支持endpoint_mode#32333
- 如果无法创建群集组件以允许从损坏的群集设置中恢复,则继续启动#31631
- 安全性:
- 使用--ipc = container时允许设置SELinux类型或MCS标签:或--ipc = host#30652
- 弃用:
- 弃用--api-enable-cors守护程序标志。此标志在Docker 1.6.0中已标记为已弃用,但未在已弃用的功能#32352 中列出
- 删除Ubuntu 12.04(精确穿山甲)作为支持的平台。 Ubuntu 12.04是EOL,不再收到更新#32520
版本中的新功能:
- 生成器:
- 添加多阶段构建支持#31257#32063
- 允许在FROM#31352 中使用构建时间args(ARG)
- 添加用于指定构建目标#32496 的选项
- 接受-f - 从stdin读取Dockerfile,但使用本地上下文构建#31236
- 除非在Dockerfile中写入相应的ARG指令,否则默认构建时参数(例如HTTP_PROXY)的值不再显示在泊坞窗图像历史记录中。 #31584
- 如果在父图像中使用自定义shell,则修复设置命令#32236
- 修复泊坞窗构建 - 标签包含单引号和空格#31750 时的标签
- 客户端:
- 将--mount标志添加到docker run和docker create#32251
- 将--type = secret添加到docker inspect#32124
- 将--format选项添加到docker secret ls#31552
- 为docker secret ls添加--filter选项#30810
- 将--filter scope =添加到docker network ls#31529
- 将--cpus支持添加到docker update#31148
- 将标签过滤器添加到docker system prune和其他剪枝命令#30740
- docker stack rm现在接受多个堆栈作为输入#32110
- 在客户降级API版本#31022时改进docker version --format选项
- 使用加密的客户端证书连接到docker守护程序时提示#31364
- 在成功的docker build#32077 上显示创建的标签
- 清理撰写转换错误消息#32087
- 的Contrib:
- 在amd64#32435上为Ubuntu 17.04 Zesty添加对docker debs的支持
- 守护程序:
- 修复 - 如果未设置--api-enable-cors,则忽略--api-cors-header#32174
- 清理码头tmp目录开始#31741
- 弃用-graph标志赞成或--data-root#28696
- 日志记录:
- 添加对日志驱动程序插件的支持#28403
- 添加对将各个任务的日志显示到docker服务日志的支持,并添加/ task / {id} / logs REST端点#32015
- 使用正则表达式添加--log-opt env-regex选项以匹配环境变量#27565
- 网络:
- 允许用户更换和自定义入口网络#31714
- 修复容器重启后无法正常工作的UDP流量#32505
- 如果设置了不同的数据根,则修复正在写入/ var / lib / docker的文件#32505
- 运行时:
- 确保在容器退出#32274 时停止运行状况探测
- 群体模式:
- 添加服务的更新/回滚顺序(--update-order / --rollback-order)#30261
- 添加对同步服务创建和服务更新的支持#31144
- 添加对“宽限期”的支持通过HEALTHCHECK --start-period和--health-start-period标志来健康检查
- docker service create,docker service update,docker create和docker run以支持初始启动的容器
- 时间#28938
- docker service create现在会在可能的情况下省略用户未指定的字段。这将允许在经理#32284 中应用默认值
- docker service inspect现在显示未由用户指定的字段的默认值#32284
- 将docker服务日志移出实验#32462
- 将对Credential Spec和SELinux的支持添加到API#32339 的服务中
- 将--entrypoint标志添加到docker service create和docker service update#29228
- 将--network-add和--network-rm添加到docker服务更新#32062
- 将--credential-spec标志添加到docker service create和docker service update#32339
- 添加--filter mode =到docker service ls#31538
- 在创建服务时,在客户端而不是在守护程序中解析网络ID#32062
- 将--format选项添加到docker node ls#30424
- 为docker stack deploy添加--prune选项以删除docker-compose文件中不再定义的服务#31302
- 使用入口模式#30813 时,为docker service ls添加PORTS列
- 使用环境变量时修复不必要的重新部署任务#32364
- 从docker撰写文件进行部署时修复docker stack deploy不支持endpoint_mode#32333
- 如果无法创建群集组件以允许从损坏的群集设置中恢复,则继续启动#31631
- 安全性:
- 使用--ipc = container时允许设置SELinux类型或MCS标签:或--ipc = host#30652
- 弃用:
- 弃用--api-enable-cors守护程序标志。此标志在Docker 1.6.0中已标记为已弃用,但未在已弃用的功能#32352 中列出
- 删除Ubuntu 12.04(精确穿山甲)作为支持的平台。 Ubuntu 12.04是EOL,不再收到更新#32520
版本1.9.1中的新功能:
- 运行时:
- 如果无法恢复图像,请勿阻止守护程序启动(#17695)
- 强制IPC挂载以在守护程序shutdown / init(#17539) 上卸载
- 将IPC卸载错误转换为警告(#17554)
- 修复docker stats performance regression(#17638)
- 如果--log-driver = none(#17767) ,请在docker日志中澄清含义错误消息
- 很少发生恐慌(#17639,#17634,#17703)
- 修复带有点前缀(#17819) 的文件的opq whiteouts问题
- devicemapper:出于性能原因尝试默认为xfs而不是ext4(#17903,#17918)
- devicemapper:修复泊坞窗信息中显示的fs(#17974)
- selinux:如果用户要求使用z选项(#17450,#17834),则只重新标记
- 规范名称时不要拨打网络电话(#18014)
- 客户端:
- 修复Windows上的泊坞窗登录(#17738)
- 修复未连接到守护程序(#17715) 时docker检查输出的错误
- 修复docker inspect -f {{.HostConfig.Dns}} somecontainer(#17680)
- 生成器:
- 使用ADD / COPY中的符号链接行为修复回归(#17710)
- 网络:
- 允许传递网络ID作为--net(#17558) 的参数
- 修复与主机的连接并防止与主机网络的主机断开连接(#17476)
- 当网关ip落入ip-range并且ip-range不是网络中的第一个块时,修复--fixed-cidr问题(#17853)
- 从默认网桥上的MAC地址恢复确定性IPv6生成(#17890)
- 仅允许在docker run(#17858) 上创建的端点进行端口映射
- 修复了可能过时的sbox(#18102) 的端点删除问题
- 分布:
- 当磁盘上的v1Compatibility文件不一致时,在v2推送中更正父链(#18047)
1.8.2版中的新功能:
- 分布:
- 修复了处理GNU LongLink和LongName条目的罕见边缘情况。
- 修复了Docker pull上的^ C.
- 修复docker pull客户端断开连接问题。
- 修复了在未正确配置记录器时导致守护程序发生混乱的问题。
- 修复goroutine泄漏从注册表V2中提取图像。
- 运行时:
- 修复了在docker容器内运行的docker守护程序挂载cgroup的错误。
- 正确初始化日志配置。
- 客户端:
- 当存在默认格式时,正确处理docker中的-q标志。
- 网络:
- 使用netlink修复多个角落案例。
- 修复了错误的网络命名空间切换问题。
- 的Contrib:
- 解决了bash完成的几个问题。
版本1.7.1中的新功能:
- 运行时:
- 使用docker exec 修复默认用户生成exec进程
- Make --bridge = none不配置网桥
- 正确发布网络统计信息
- 使用静态二进制文件修复隐式设备映射器选择
- 修复间歇性挂起的套接字连接
- 修复CentOS / RHEL 6.6上的桥接接口创建
- 修复了添加到resolv.conf的本地dns查找
- 修复复制命令安装卷
- 修复使用--volumes-from 挂载的卷的读/写权限
- 远程API:
- 修复命令和入口点的解组
- 设置支持的最低客户端版本限制
- 验证端口规范
- 连接/重新连接失败时返回正确的错误
- 分布:
- 修复拉私人图片
- 修复注册表V2和V1之间的回退
版本1.6.2中的新功能:
- 运行时:
- 还原更改禁止安装到/ sys
版本1.6.1中的新功能:
- 安全性:
- 修复读/写/ proc路径(CVE-2015-3630)
- 禁止VOLUME / proc和VOLUME /(CVE-2015-3631)
- 修复文件描述符1的打开(CVE-2015-3627)
- 修复容器重生的符号链接遍历,允许本地权限提升(CVE-2015-3629)
- 禁止挂载/ sys
- 运行时:
- 更新Apparmor政策以禁止登录
1.5.0版中的新功能:
- 生成器:
- 可以使用-f标志 指定用于给定docker build的Dockerfile
- Dockerfile和.dockerignore文件本身可以作为.dockerignore文件的一部分排除,从而防止修改这些文件使ADD或COPY指令缓存无效
- ADD和COPY说明接受相对路径
- Dockerfile FROM scratch指令现在被解释为无基说明符
- 在暴露大量端口时提高性能
- 哈克:
- 仅允许针对Windows的客户端集成测试
- 在Docker守护程序中包含docker-py集成测试,作为测试套件的一部分
- 包装:
- 支持新版本的注册表HTTP API
- 使用大部分现有图层加快docker推送图像
- 修复了通过代理联系私人注册管理机构的问题
- 远程API:
- 新端点将流式传输实时容器资源指标,并可使用docker stats命令 进行访问
- 可以使用新的重命名端点和关联的docker rename命令 重命名容器
- Container inspect endpoint显示在此容器中运行的exec命令的ID
- 容器检查端点显示Docker自动重启容器的次数
- 事件端点可以传输新类型的事件:'OOM'(容器因内存不足而死亡),'exec_create'和'exec_start'
- 修复了返回的字符串字段,其中包含错误地忽略周围双引号的数字字符
- 运行时:
- Docker守护程序具有完整的IPv6支持
- docker run命令可以使用--pid = host标志来使用主机PID命名空间,这样可以使用容器化调试工具调试主机进程
- docker run命令可以使用--read-only标志使容器的根文件系统以只读方式挂载,可以与卷结合使用以强制容器的进程只写入将被保留的位置
- 使用-memory-swap标志 可以限制docker运行的容器总内存使用量
- devicemapper存储驱动程序的主要稳定性改进
- 与主机系统更好地集成:容器将在重新启动时反映主机/etc/resolv.conf文件的更改
- 与主机系统更好地集成:每个容器的iptable规则被移动到DOCKER链
- 固定容器退出内存不足以返回无效的退出代码
- 其他:
- 连接到Docker守护程序时,客户端正确考虑HTTP_PROXY,HTTPS_PROXY和NO_PROXY环境变量
版本1.4.1中的新功能:
- 运行时:
- 修复了创建 后卷和来自绑定挂载的问题
版本1.4.0中的新内容:
- 为守护程序设置key = value标签(显示在docker info中,使用新的-label守护程序标志
- 在Dockerfile中添加对窗体的ENV支持:ENV name = value name2 = value2 ...
- 新的Overlayfs存储驱动程序
- docker info现在返回一个ID和名称字段
- 按事件名称,容器或图像过滤事件
- docker cp现在支持从容器卷复制
- 修复了泊坞广告代码,因此在覆盖现有图片的代码时会尊重--force。
版本1.3.3中的新功能:
- 安全性:
- 修复绝对符号链接处理中的路径遍历漏洞(CVE-2014-9356)
- 修复xz图像档案的解压缩,防止权限提升(CVE-2014-9357)
- 验证图片ID(CVE-2014-9358)
- 运行时:
- 修复了缓慢读取图像存档时的问题
- 客户端:
- 修复与stdin重定向相关的回归
- 当目标是当前目录时使用docker cp修复回归
版本1.3.2中的新功能:
- 安全性:
- 修复tar突破漏洞
- 提取物现在是沙盒chroot
- 安全选项不再提交给图片
- 运行时:
- 修复docker中的死锁ps -f exited = 1
- 修复了--volumes-来自引用无法启动的容器 时的错误
- 注册表:
- - insecure-registry现在接受CIDR表示法,例如10.1.0.0/16
- IP低于127.0.0.0/8范围的私有注册管理机构不需要--insecure-registry标志
- 启用镜像时跳过实验性注册表v2 API
版本1.3.0中的新功能:
- Docker exec允许您在现有容器内运行其他进程
- Docker create使您能够通过CLI创建容器而无需执行流程
- - security-opts选项,允许用户自定义容器标签和apparmor配置文件
- Docker ps过滤器
- 对COPY / ADD的通配符支持
- 将生产URL从get.docker.io 移至get.docker.com
- 在有效CIDR 内的网桥上分配IP地址
- 使用drone.io进行PR和CI测试
- 能够设置正式的注册表镜像
- 使用docker save保存多个图像的能力
版本1.2.0中的新功能:
- 运行时:
- 使/ etc / hosts /etc/resolv.conf和/ etc / hostname在运行时可编辑
- 使用政策自动重启容器
- 对大型临时文件使用/ var / lib / docker / tmp
- - cap-add和--cap-drop调整你想要的linux功能
- - 在容器中使用设备的设备
- 客户端:
- docker search on private registries
- 将已退出的过滤器添加到docker ps --filter
- docker rm -f现在杀死而不是停止
- 支持--dns标志中的IPv6地址
- 代理:
- 单独进程中的代理实例
- UDP代理上的小错误修复
0.8.0版中的新功能:
- 可以更快地删除图像和容器
- 使用docker build从源代码构建图像现在要快得多
- Docker守护程序启动和停止更快
- 许多常见操作的内存占用已减少,通过流式文件而不是在内存中缓冲它们,修复内存泄漏以及修复各种次优的内存分配
- 修复了几个竞争条件,使得Docker在非常高的并发负载下更加稳定。这使Docker更稳定,更不容易崩溃,并减少许多常见操作的内存占用
- 所有打包操作现在都基于Go语言的标准tar实现构建,该实现与Docker本身捆绑在一起。这使得打包在主机发行版中更具可移植性,并解决了由不同tar分布之间的怪癖和不兼容性引起的几个问题
- 由于更积极地释放系统资源,Docker现在可以慷慨地创建,删除和修改大量容器和图像。例如,存储驱动程序API现在允许Docker对驱动程序创建的挂载进行引用计数随着对Docker测试的网络和执行子系统的持续更改,这些区域一直是重构的重点。通过将这些子系统移动到单独的包中,我们可以测试,分析和监控这些包的覆盖范围和质量
- 许多组件已被分成更小的子包,每个子包都有一个专用的测试套件。因此,代码经过了更好的测试,更易读,更易于更改
- ADD指令现在支持缓存,避免在未更改时不必要地重复上传相同的源内容
- 新的ONBUILD指令为您的图像添加了“触发器”功能。当图像用作另一个构建的基础时,将在稍后执行的指令
- Docker现在附带一个实验性存储驱动程序,它使用BTRFS文件系统进行写时复制
- Docker在Mac OSX上正式支持
- Docker守护程序支持systemd套接字激活
新功能:
- 构建器:
- 不要在构建上下文之外遵循符号链接
- 运行时:
- 指定ro时重新装入绑定装载
- 使用https获取docker版本
- 其他:
- 内联test.docker.io指纹
- 将ca-certificates添加到打包文档
0.7.5版中的新功能:
- 生成器:
- 禁用构建压缩。更多空间使用,但上传速度更快
- 修复某些路径的ADD缓存
- 不要从git build压缩存档
- 文档:
- 修复GROUP添加示例中的错误
- 确保GPG指纹内嵌在文档 中
- 就设置DCO提交签名提供更具体的建议
- 运行时:
- 修复拼写错误的容器名称
- 禁用网络时不要添加主机名
- 按日期从缓存中返回最近的图像
- 从docker wait返回所有错误
- 添加内容类型标题" application / json"到GET /版本和/ info回复
- 其他:
- 将DCO更新至1.1版
- 更新Makefile以使用“docker:GIT_BRANCH”作为生成的图像名称
- 更新Travis以检查新的1.1 DCO版本
0.7.4版中的新功能:
- 生成器:
- 修复ADD缓存问题。前缀路径
- 通过还原稀疏文件tar选项 修复在devicemapper上的docker build
- 修复文件缓存问题并防止错误缓存命中
- 在解组CMD和ENTRYPOINT时使用相同的错误处理
- 文档:
- 简化并简化Amazon Quickstart
- 安装说明使用未加固定的fedora image
- 更新GCE上Docker的mtu标志说明
- 将Ubuntu Saucy添加到安装
- 修复了master上的错误版本警告,而不是最新的
- 运行时:
- 当我们需要计算图像大小时,只获取图像的rootfs
- 正确处理取消映射的UDP端口
- 使CopyFileWithTar使用管道而不是缓冲区来节省docker build上的内存
- 修复登录信息以说拉而不是推送
- 修复“docker load”通过删除“SOURCE”帮助提示并提及STDIN
- 将空白-H选项默认设置为与未发送-H相同
- 将cgroups实用程序解压缩为自己的子模块
- 其他:
- 添加Travis CI配置以验证DCO和gofmt要求
- 添加开发者原产地证书文本
- 升级VBox Guest Additions
- 在ping注册表服务器时检查独立标头
0.7.3版中的新功能:
- 生成器:
- 根据添加内容的哈希值更新ADD以使用图像缓存
- 为空Dockerfile添加错误消息
- 文档:
- 修复过时的“简介”链接在www.docker.io
- 更新文档以在屏幕显示时更广泛
- 添加有关在使用原始二进制文件时需要安装LXC的信息
- 更新Fedora文档以解开docker和docker.io冲突
- 添加关于在多个GCE区域中使用新-mtu标志的说明
- 添加FrugalWare安装说明
- 添加更完整的泊坞窗运行示例
- 修复用于创建和启动特权容器的API文档
- 添加缺少的“名称” " / containers / create" 上的参数文档
- 添加提及lxc-checkconfig作为检查一些必要内核配置的方法
- 使用添加到1.7 文档的一些附加内容更新1.8 API文档
- 哈克:
- 将缺少的libdevmapper依赖项添加到packagers文档
- 将最低Go要求更新为Go 1.2 + 的强硬路线
- Vagrantfile的许多小改进
- 添加在编译时自定义dockerinit搜索位置的功能(仅由需要非标准位置的平台的打包程序非常谨慎地使用)
- 添加coverprofile生成报告
- 在我们的Go构建标志中添加-a,无需手动重新编译stdlib
- 更新Dockerfile以使其更具规范性并在构建期间减少虚假警告
- 修复一些杂项泊坞窗拉动进度条显示问题
- 在“pkg”下迁移更多杂项包。夹
- 更新TextMate突出显示以自动为名为“Dockerfile” 的文件启用
- 在常见的“contrib / syntax”下重新组织语法突出显示文件。目录
- 如果busybox无法下载或在Ubuntu / Debian安装结束时运行,请更新install.sh脚本(https://get.docker.io/)以免失败
- 在bash完成中添加对容器名称的支持
- 包装:
- 为Darwin(Mac OS X)添加官方Docker客户端二进制文件
- 删除空的“供应商”字符串并添加“许可证”关于deb包
- 添加“/ etc / default / docker”的存根版本在deb包中
- 运行时:
- 更新图层应用程序以在适当的位置提取焦油,避免在处理白化时文件流失
- 修复tar处理中mtime比较的允许性(因为GNU tar和Go tar还不支持亚秒级mtime精度)
- 重新实现docker top in pure更加一致地工作,甚至在Docker-in-Docker中(因此消除了某些版本的lxc-ps中存在的shell注入漏洞)
- 更新-H unix://通过插入缺失部分的默认值来与-H tcp://类似地工作
- 修复有关dockerinit的更多边缘情况并删除或替换docker或dockerinit文件
- 更新容器名称验证以包含'。'
- 修复使用符号链接或非绝对路径作为-g的参数以按预期工作
- 更新以处理LXC外部的外部安装,修复许多小型安装怪癖并使将来执行后端和其他功能更简单
- 更新以在docker images -tree 中使用适当的盒子绘图字符
- 将MTU设置从LXC配置移至直接使用netlink
- 为外部tar调用添加-S选项以实现更有效的备用文件处理
- 将arch / os信息添加到User-Agent字符串,尤其是对于注册表请求
- 向Docker守护程序添加-mtu选项以配置MTU
- 修复docker build以退出时出现错误的非零退出代码
- 添加DOCKER_HOST环境变量以配置客户端-H标志,而不是为每次调用手动指定它
0.7.2版中的新功能:
- 运行时:
- 使用标准正则表达式 验证创建时的容器名称
- 将最大图像深度从42 增加到127
- 继续将api端点移动到作业api
- 添加-bip标志以允许通过CIDR指定动态网桥IP
- 在某些系统上未启用ipv6时允许创建网桥
- 在dockerinit 中设置主机名和IP地址
- 从dockerinit中删除功能
- 当符号链接出现时,修复主机上的卷
- 如果任何容器依赖于它,即使容器未运行,也要防止删除图像
- 更新docker push以使用新的进度显示
- 使用os.Lstat允许在检查卷时安装unix套接字
- 调整处理非活动用户登录
- 在旧版内核的devicemapper中添加缺少的定义
- 允许无标记操作且无容器验证
- 将auth config添加到docker build
- 文档:
- 添加有关Docker记录的更多信息
- 添加RHEL文档
- 添加直接示例以更改在容器中运行的CMD
- 更新Arch安装文档
- 添加“受信任的构建”部分
- 添加网络文档页面
- 其他:
- 添加新的封面包以提供代码覆盖率报告
- 捆绑中的单独集成测试
- 让Tianon成为黑客维护者
- 使用更多调整更新mkimage-debootstrap以保持图像小
- 使用https获取安装脚本
- 现在已经发布了Go 1.2已删除已售出的dotcloud / tar
0.7.1版中的新功能:
- 文档:
- 将@SvenDowideit添加为文档维护者
- 添加链接示例
- 添加有关大使模式的文档
- 添加Google Cloud Platform文档
- 添加dockerfile最佳做法
- 更新RHEL文档
- 更新注册表文档
- 更新Postgres示例
- 更新Ubuntu安装文档
- 改进远程api doc
- 运行时:
- 将hostconfig添加到docker inspect
- 实施docker log -f以流日志
- 添加env变量以禁用内核版本警告
- 将-format添加到docker inspect
- 支持文件的bind-mount
- 修复RHEL上的桥梁创建
- 修复图像尺寸计算
- 确保即使网桥已存在也会调用iptables
- 修复stderr仅附加问题
- 销毁容器时删除初始层
- 在不同接口上修复相同的端口绑定
- docker build现在返回正确的退出代码
- 修复泊坞窗端口以显示正确的端口
- docker build现在检查dockerfile是否存在客户端
- docker attach现在返回正确的退出代码
- 当容器不存在时删除名称条目
- 注册表:
- 改进进度条,为下载添加ETA
- 同时拉动现在等待第一次完成而不是失败
- 在推送到注册表时仅标记顶层图像
- 修复离线图片传输问题
- 修复了阻止在注册表密码中使用“:”的问题
- 其他:
- 为调试添加pprof处理程序
- 创建一个Makefile
- 使用现在包含修复 的stdlib tar
- 改进make.sh测试脚本
- 处理守护程序上的SIGQUIT
- 在测试期间禁用详细信息
- 升级到go1.2进行正式构建
- 改进单元测试
- 现在,测试套件即使失败也会运行所有测试
- Go中的重构C(Devmapper)
- 修复OSX编译
0.7.0版中的新功能:
- 存储驱动程序:从aufs,设备映射器,vfs或btrfs中选择。
- 标准Linux支持:docker现在可在未修改的Linux内核和所有主要发行版上运行。
- 链接:通过将容器相互连接来组合复杂的软件堆栈。
- 容器命名:通过给出令人难忘的名称来整理容器。
- 高级端口重定向:指定每个接口的端口重定向,或保持敏感端口的私密性。
- 离线传输:将图像推送到文件系统而不会丢失信息。
- 质量:众多错误修正和小的可用性改进。测试覆盖率显着增加。
评论没有发现