更改日志

7.0.0

升级说明

  • 已删除的SSL版本 (ssl_version )和显式主机名检查 (assert_hostname )选项

    • assert_hostname 自Python3.6以来一直未使用,并已在3.12中移除

    • 默认情况下,Python3.7+支持TLSv1.3

  • 默认情况下不再包括WebSocket支持

    • 使用 pip install docker[websockets] 包括 websocket-client 依存性

    • 默认情况下, docker-py 劫持TCP连接并不使用WebSocket

    • WebSocket客户端仅需要使用 attach_socket(container, ws=True)

  • 不再正式支持Python3.7(已于2023年6月停售)

功能

  • 支持Python3.12

  • 饱满 networking_config 支持 containers.create()

    • 取代 network_driver_opt (在6.1.0中增加)

  • 增列 health() 属性设置为返回状态的容器(例如 unhealthy )

  • 增列 pause 选项以 container.commit()

  • 添加对绑定挂载传播的支持(例如 rsharedprivate )

  • 增列 filterskeep_storage ,以及 all 参数设置为 prune_builds() (需要API v1.39+)

补补

  • 持续不断地返回 docker.errors.NotFound 关于404份回复

  • 在推送镜像前验证标签格式

杂类

  • 升级了中的urllib3版本 requirements.txt (用于开发/测试)

  • 文档拼写错误修复和格式改进

  • 修复了较新Moby引擎版本的集成测试兼容性

  • 切换到 [ruff] (用于皮棉的https://github.com/astral-sh/ruff)

6.1.3

补补

  • 修复与 [eventlet/eventlet] (https://github.com/eventlet/eventlet))

6.1.2

补补

  • 修复Long上的套接字超时 docker exec 打电话

6.1.1

补补

  • 修整 containers.stats() 挂在一起 stream=True

  • 文档中正确的返回类型 containers.diff() 方法

6.1.0

升级说明

  • 如果找不到凭据帮助器,则在客户端初始化期间不再返回错误。相反,将发出警告,如果使用凭据帮助器,则返回错误。

功能

  • 支持Python3.11

  • 使用 poll() 而不是 select() 在非Windows平台上

  • 新增接口字段

    • network_driver_opt 在容器运行/创建时

    • one-shot 关于集装箱统计数据

    • status 在服务列表上

补补

  • 支持请求2.29.0+和urllib3 2.x

  • 不要从卷名中剥离字符

  • 修复tainer.exec_*操作上的连接泄漏

  • 修复在Windows上关闭命名管道时出现的错误

6.0.1

补补

  • 修复 The pipe has been ended errors 在Windows上

  • 支持按时间戳过滤容器日志的浮点数 (since / until )

6.0.0

升级说明

  • 支持的最低Python版本为3.7+

  • 使用pip安装时, docker[tls] Extra已弃用,无操作,请使用 docker 实现相同的功能(TLS支持现在始终可用)

  • 本机Python SSH客户端(默认情况下使用/ use_ssh_client=False )现在将拒绝未知的主机密钥 paramiko.ssh_exception.SSHException

  • 短ID现在为12个字符,而不是10个字符(与Docker CLI相同)

功能

  • 支持Python3.10

  • 自动协商最安全的TLS版本

  • 增列 platform (例如: linux/amd64darwin/arm64 )以创建和运行容器

  • 添加对以下各项的支持 GlobalJobReplicatedJobs 对于群居

  • 增列 remove() 方法论 Image

  • 增列 force 参数设置为 disable() 在……上面 Plugin

补补

  • 修复Windows上与以下相关的安装问题 pywin32

  • 在本机Python SSH模式下不接受未知的SSH主机密钥

  • 使用12个字符的短ID与Docker CLI保持一致

  • 忽略中的尾随空格 .dockerignore 文件

  • 修复了指定显式端口时的IPv6主机解析

  • 修整 ProxyCommand SSH连接选项

  • 启动外部SSH客户端时不会产生额外的子Shell

  • 改进异常语义以保留上下文

  • 文档改进(格式、示例、打字错误、缺少参数)

杂类

  • 中的升级依赖项 requirements.txt 至最新版本

  • 删除无关的传递依赖项

  • 消除不推荐使用的函数/方法

  • 测试套件可靠性改进

  • GitHub操作linting、单元测试、集成测试和发布版本的工作流

5.0.3

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/76?closed=1)

功能

  • 增列 cap_addcap_drop 服务Create和ContainerSpec的参数

  • 增列 templating 用于配置创建的参数

补补

  • 修复了读取日志/连接时出现tty和输出缓慢的问题

杂类

  • 修复文档示例

5.0.2

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/75?closed=1)

补补

  • 修整 disable_buffering 回归

5.0.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/74?closed=1)

补补

  • 恢复对ssh标识文件的支持

  • 清理剩余的python-2依赖项

  • 修复文档中的图像保存示例

杂类

  • 将urllib3提升至1.26.5

  • 将请求增加到2.26.0

5.0.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/70?closed=1)

突破性变化

  • 删除对Python2.7的支持

  • 将Python3.6设置为受支持的最低版本

功能

  • 增列 limit 图像搜索终结点的参数

补补

  • 修整 KeyError 秘密创建时出现异常

  • 验证从扩展坞上下文加载的TLS密钥

  • 更新PORT_SPEC正则表达式以允许对IPv6地址使用方括号

  • 修复容器和图像文档示例

4.4.4

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/73?closed=1)

补补

  • 移除 LD_LIBRARY_PATHSSL_CERT_FILE 向ssh客户端输出时的环境变量

4.4.3

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/72?closed=1)

功能

  • 添加对docker.tyes.Placement.MaxReplicas的支持

补补

  • 修复了向ssh客户端输出时的SSH端口解析

4.4.2

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/71?closed=1)

补补

  • 修复了SSH连接错误,其中主机名被错误地修剪并且错误被隐藏

  • 修复文档示例

杂类

  • 在setup.py分类器列表中添加Python3.8和3.9

4.4.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/69?closed=1)

补补

  • 避免为子进程设置不支持的参数。在Windows上打开

  • 替换“”docker/api/Image“”上不推荐使用的“”Filter“”参数“

4.4.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/67?closed=1)

功能

  • 根据到SSH客户端的Shell,将替代SSH连接添加到pariko连接。类似于Docker CLI的行为

  • 默认图像标记为 latest 在……上面 pull

补补

  • 修复插件模型升级

  • 修复ulimits中的示例URL

杂类

  • 改进服务器和客户端错误的异常消息

  • 将加密从2.3提升到3.2

4.3.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/68?closed=1)

杂类

  • 将默认API版本设置为 auto

  • 修复转换为字节的问题 float

  • 支持OpenSSH identityfile 选择权

4.3.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/64?closed=1)

功能

  • 增列 DeviceRequest 键入以显示主机资源,如GPU

  • 添加对以下各项的支持 DriverOpts 在终结点配置中

  • 使用tainer.get_archive方法时,默认情况下禁用压缩

杂类

  • 将默认API版本更新为v1.39

  • 将测试引擎版本更新为19.03.12

4.2.2

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/66?closed=1)

补补

  • 修复非坞站端点的上下文加载

4.2.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/65?closed=1)

功能

  • 添加有关何时使用的选项 tls 论语境构造器

  • 使Context Orchestrator字段成为可选字段

4.2.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/63?closed=1)

补补

  • 修复 win32pipe.WaitNamedPipe 在Windows容器中引发异常

  • 使用 HostnameUsernamePortProxyCommand 设置自 .ssh/config 在SSH上时

  • 将ssh传输的主机密钥策略设置为 paramiko.WarningPolicy()

  • 将日志记录级别设置为 paramiko 发出警告

功能

  • 通过以下方式添加对坞站上下文的支持 docker.ContextAPI

4.1.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/61?closed=1)

补补

  • 对,是这样 INDEX_URL build.py_set_auth_headers中的逻辑

  • 修复config.json中的空身份验证密钥

功能

  • 添加 NetworkAttachmentConfig 用于服务创建/更新

杂类

  • 将最热测试提升至4.3.1

  • 调整 --platform 测试坞站引擎中的更改

  • 将凭据-帮助程序更新到v0.6.3

4.0.2

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/62?closed=1)

补补

  • 统一道路 HealthCheck 已创建/配置

杂类

  • WebSocket-Client的升级版本

4.0.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/60?closed=1)

补补

  • 修复了 credentials 在Python 3.7中导致导入错误的子包

杂类

  • Docs大楼已修缮完毕

4.0.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/57?closed=1)

突破性变化

  • 已删除对Python 3.3和Python 3.4的支持

  • APIClient.update_serviceAPIClient.init_swarm ,以及 DockerClient.swarm.init 现在返回一个 dict 来自API的响应正文

  • 在……里面 APIClient.buildDockerClient.images.build ,即 use_config_proxy 参数现在默认为True

  • init_path is no longer a valid parameter for HostConfig

功能

  • 现在可以提供 SCTP 用于端口映射的端口

  • ContainerSpec %s现在支持 init 参数

  • DockerClient.swarm.initAPIClient.init_swarm 现在支持 data_path_addr 参数

  • APIClient.update_swarmDockerClient.swarm.update 现在支持 rotate_manager_unlock_key 参数

  • APIClient.update_service returns the API's response body as a dict

  • APIClient.init_swarm, and DockerClient.swarm.init now return the API's response body as a dict

补补

  • 固定的 PlacementPreference 实例以生成有效的API类型

  • 修复了不为以下项设置值的错误 buildargs 在……里面 build 可能会导致库尝试访问 None 价值

  • 修复了设置 volume_driver 中的参数 DockerClient.containers.create 会导致错误

  • APIClient.inspect_distribution now correctly sets the authentication headers on the request, allowing it to be used with private repositories This change also applies to DockerClient.get_registry_data

3.7.2

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/59?closed=1)

补补

  • 修复base_url以保留utils.py上的TCP协议,方法是将协议更改为 parse_host 之后,让 base_url 使用原值。

  • TLS上的XFAIL TEST_ATTACH_STREAM_AND_CANCEL

3.7.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/58?closed=1)

补补

  • 为SSH池设置不同的默认编号(现在为9

  • 添加一个带有Close方法的BaseHTTPAdapter,以确保池在关闭时是干净的()

  • 使SSHHTTPAdapter在需要时像其他连接一样重新打开关闭的连接

3.7.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/56?closed=1)

功能

  • 添加了对多路复用流的支持(对于 attachexec_start )。欲了解更多信息,请访问https://docker-py.readthedocs.io/en/stable/user_guides/multiplex.html。

  • Added the use_config_proxy parameter to the following methods: APIClient.build, APIClient.create_container, DockerClient.images.build and DockerClient.containers.run (False by default). This parameter will become True by default in the 4.0.0 release.

  • 在客户端上更好地验证了Sarm服务的放置首选项,并相应地更新了文档

补补

  • 修复了使用某些变体的凭据存储区不查询相关注册表凭据的错误 config.json 文件。

  • DockerClient.swarm.init 现在返回通告的布尔值。

3.6.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone=55?closed=1)

功能

  • 新增对通过SSH连接到Docker引擎的支持。此功能的其他依赖项可随一起安装 pip install "docker[ssh]"

  • 添加了对 named 中的参数 Image.save ,它可用于确保生成的tarball在保存时保留镜像的名称。

补补

  • 修复了在Windows上使用上下文路径构建时使用 \\?\ 对于某些相对Dockerfile路径,前缀将失败。

  • 修复了使用 DockerClient 在设置 stream 参数设置为 True

杂类

  • 的最低要求 requests 依赖项已升级到2.20.0

3.5.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/54?closed=1)

杂类

  • 凹凸不平的版本 pyOpenSSL 在……里面 requirements.txtsetup.py 要防止安装易受攻击的版本,请执行以下操作

  • 文档修复

3.5.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/53?closed=1)

不推荐使用警告

  • 4.0.0版本中将取消对Python 3.3的支持

功能

  • 更新了依赖项以确保支持Python 3.7环境

  • 添加了对 uts_mode 中的参数 HostConfig

  • 这个 UpdateConfig 构造函数现在允许 rollback 作为的有效值 failure_action

  • 添加了对以下各项的支持 rollback_config 在……里面 APIClient.create_serviceAPIClient.update_serviceDockerClient.services.createService.update

补补

  • 凭据帮助器现在可以由 build 方法

  • 修复了在提供给时导致位置首选项被忽略的错误 DockerClient.services.create

  • 修复了一个错误,该错误导致 user 的价值 0 在中被忽略 APIClient.create_containerDockerClient.containers.create

3.4.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/52?closed=1)

补补

  • 修复了导致使用一种旧格式编写的配置文件中的AUTH值被忽略的错误

  • 修复了处理双通配符的问题 ** 中的图案 .dockerignore 文件

3.4.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/51?closed=1)

功能

  • 这个 APIClientDockerClient 构造函数现在接受 credstore_env 参数。设置后,此字典中的值将在执行凭据存储过程时添加到环境中。

补补

  • DockerClient.networks.prune 现在可以正确返回操作结果

  • 修复了一个错误,该错误导致构建上下文子文件夹中的自定义Dockerfile路径无效,从而阻止这些构建工作

  • 这个 plugin_privileges 方法现在可以为需要身份验证才能访问的插件调用

  • 修复了导致通过不安全的TCP套接字读取数据流的尝试在Windows客户端上崩溃的错误

  • 修复了在使用 read_only 参数创建服务时使用 DockerClient 被忽视了

  • 修复了以下问题 Service.scale 将无法正确更新服务的模式,从而导致操作以静默方式失败

3.3.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/49?closed=1)

功能

  • 添加了对以下各项的支持 prune_builds 在……里面 APIClientDockerClient.images

  • 添加了对以下各项的支持 ignore_removed 中的参数 DockerClient.containers.list

补补

  • 修复了使用绝对路径指定上下文中的Dockerfile时导致构建失败的问题

  • 安装pip 10.0.0及更高版本不再失败

  • 的连接超时 stoprestart 现在会进行适当调整,以允许操作在指定时间内完成

  • 改进了Windows上的坞站凭据存储支持

3.2.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/50?closed=1)

补补

  • 修复了生成无法正确识别相对于生成上下文的Dockerfile路径的错误

  • 修复了生成会引发 ValueError 尝试使用不同Windows驱动器上的Dockerfile进行构建时。

3.2.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/45?closed=1)

功能

  • 由退回的发电机 attach()logs()events() 现在有一个 cancel() 方法,让使用者在客户端停止迭代。

  • build() 方法现在可以处理在构建上下文之外提供的Dockerfile。

  • 已添加 sparse 参数为 DockerClient.containers.list()

  • 已添加 isolation 参数设置为 build() 方法。

  • 已添加 close() 方法来执行以下操作 DockerClient

  • 增列 APIClient.inspect_distribution() 方法和方法 DockerClient.images.get_registry_data()

    • 后者返回新的 RegistryData 班级

3.1.4

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/48?closed=1)

补补

  • 修复了包含目录符号链接的构建上下文将生成无效tar归档的错误

3.1.3

补补

  • 重新生成无效的轮包

3.1.2

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/47?closed=1)

补补

  • 修复了在某些情况下,当Dockerfile的路径以前缀为前缀时,导致Dockerfile不包括在构建上下文中的错误 ./

3.1.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/46?closed=1)

补补

  • 修复了通过UNIX套接字连接到引擎时导致在Mac OSX上进行昂贵DNS查找的错误

  • 修复了导致 .dockerignore 要作为排除模式阅读的注释

3.1.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/44?closed=1)

功能

  • 添加了对以下各项的支持 device_cgroup_rules 在主机配置中

  • 添加了对以下各项的支持 generic_resources 在创建 Resources 对象。

  • Added support for a configurable chunk_size parameter in export, get_archive and get_image (Image.save)

  • 添加了一个 force_update 方法添加到 Service 班级。

  • 在……里面 Service.update ,当 force_update 参数设置为 True ,当前 force_update 计数器在更新请求中加1。

补补

  • 修复了身份验证通过 login() 如果SDK配置为使用凭据存储区,则忽略。

  • 修复了下载方法使用小得离谱的区块大小,从而导致数据检索缓慢的错误

  • 修复了使用 DockerClient.images.pull 按摘要拉取镜像将导致引发异常。

  • .dockerignore 现在应该遵守规范定义的规则,包括尊重最后一行的优先顺序和正确处理绝对路径

  • 这个 pass 现在正确支持凭据存储。

3.0.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/43?closed=1)

补补

  • 修复了以下位置的错误 APIClient.login didn't populate the _ auth_configs字典正确,导致后续 pullpush 要失败的操作

  • 修复了一些构建上下文文件被错误识别为不可访问的错误。

  • 修复了mtime值为负的文件在包含在构建上下文中时会导致错误的错误

3.0.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/39?closed=1)

突破性变化

  • 已删除对API版本低于1.21的支持。

  • 已删除以下方法:

    • APIClient.copy 已被移除。用户应使用 APIClient.get_archive 取而代之的是。

    • APIClient.insert 已被移除。用户可以使用 APIClient.put_archiveAPIClient.commit 来复制该方法的行为。

    • utils.ping_registryutils.ping 已经被移走了。

  • 已删除以下参数:

    • stream in APIClient.build

    • cpu_shares, cpuset, dns, mem_limit, memswap_limit, volume_driver, volumes_from in APIClient.create_container. These are all replaced by their equivalent in create_host_config

    • insecure_registry in APIClient.login, APIClient.pull, APIClient.push, DockerClient.images.push and DockerClient.images.pull

    • viz in APIClient.images

  • 已重命名以下参数:

    • endpoint_config in APIClient.create_service and APIClient.update_service is now endpoint_spec

    • name in DockerClient.images.pull is now repository

  • 以下方法的返回值已更改:

    • APIClient.waitContainer.wait 现在返回一个 dict 表示API的响应,而不是直接返回状态码。

    • DockerClient.images.load 现在返回 Image 对象,而不是日志流。

    • Container.exec_run 现在返回(exit_code,output)的元组,而不仅仅是输出。

    • DockerClient.images.build 现在返回(image,build_logs)的元组,而不仅仅是镜像对象。

    • APIClient.exportAPIClient.get_archiveAPIClient.get_image 现在,从服务器的响应中返回流式传输原始二进制数据的生成器。

    • 当没有提供标签时, DockerClient.images.pull 现在返回 Image 的关联到拉取的存储库,而不仅仅是 latest 镜像。

功能

  • 现在,Python 3.6正式支持Docker Python SDK

  • 已添加 scale 方法添加到 Service 模型;此方法是调用 update_service 具有所需数量的复制副本

  • 添加了对 platform 中的参数 APIClient.buildDockerClient.images.buildAPIClient.pullDockerClient.images.pull

  • 添加了对 until 中的参数 APIClient.logsContainer.logs

  • 添加了对 workdir 中的参数 APIClient.exec_createContainer.exec_run

  • 添加了对 condition 中的参数 APIClient.waitContainer.wait

  • 用户现在可以为中的端口指定发布模式 EndpointSpec 使用 {{published_port: (target_port, protocol, publish_mode)}} 语法。

  • 添加了对 isolation 中的参数 ContainerSpecDockerClient.services.createService.update

  • APIClient.attach_socketAPIClient.exec_create 现在允许指定 detach_keys 组合拳。如果未指定,则来自 config.json 将使用文件

  • TLS连接现在默认使用TLSv1.2协议(如果可用

补补

  • 修复了一个错误,在此错误中只有空格的行在 .dockerignore 会破坏Windows上的构建

  • 修复了构建上下文中断开的符号链接会导致构建失败的错误

  • 修复了使用Windows驱动器指定卷将导致不正确解析的错误 DockerClient.containers.run

  • 修复了一个错误,其中 networks 提供给 create_serviceupdate_service 将错误地发送到API<1.25的引擎

  • 正在从存储库中提取所有标记,且没有 latest 标记使用 DockerClient 将不再引发 NotFound 例外情况

2.7.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/41?closed=1)

功能

  • 已添加 unlock_swarmget_unlock_key 方法添加到 APIClient

    • 已添加 unlockget_unlock_keyDockerClient.swarm

  • 添加了一个 greedy 参数设置为 DockerClient.networks.list ,产生有关列出的网络的更多详细信息。

  • 已添加 cpu_rt_runtimecpu_rt_period 作为参数 APIClient.create_host_configDockerClient.containers.run

  • 添加了 order 参数为 UpdateConfig

  • 已添加 fetch_current_specAPIClient.update_serviceService.update 这将检索服务的当前配置,并将其与提供的参数合并以确定新配置。

补补

  • 修复了一个错误,其中 build 方法试图在上下文中包含不可访问的文件,导致在生成阶段出现模糊错误(上下文中的不可访问的文件现在会引发 IOError 取而代之的是)。

  • 修复了一个错误,其中 build 方法将尝试读取构建上下文中存在的FIFO,从而导致它挂起。

  • APIClient.stop 将不再重写 stop_timeout 容器配置中存在的值。

  • 修复了阻止删除名称包含空格的网络的错误。

  • 修复了以下位置的错误 DockerClient.containers.run 将会崩溃,如果 auto_remove 参数设置为 True

  • 更改了的默认值 listen_addr 在……里面 join_swarm 要与中的那个相匹配 init_swarm

  • 修复了在没有正文的情况下处理HTTP错误会导致在生成 APIError 对象。

2.6.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/40?closed=1)

补补

  • 修复了Python 3安装中阻止使用 attachexec_run 方法。

2.6.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/38?closed=1)

功能

  • 添加了对以下各项的支持 mounts 在……里面 APIClient.create_host_configDockerClient.containers.run

  • 添加了对以下各项的支持 consistencytmpfs_sizetmpfs_mode 创建装载对象时。

  • Mount 对象现在支持 tmpfsnpipe 类型。

  • 添加了对以下各项的支持 extra_hostsbuild 方法。

  • 新增对configs接口的支持:

    • 在……里面 APIClientcreate_configinspect_configremove_configconfigs

    • 在……里面 DockerClientconfigs.createconfigs.getconfigs.list 以及 Config 模特。

    • 已添加 configs 参数设置为 ContainerSpec 。中的每一项 configs 列表必须是 docker.types.ConfigReference 实例。

  • 在创建时添加了对以下参数的支持 ContainerSpec 对象: groupsopen_stdinread_onlystop_signalhelathcheckhostsns_configconfigsprivileges

  • 将以下配置类添加到 docker.typesConfigReferenceDNSConfigPrivilegesSwarmExternalCA

  • 添加了对以下各项的支持 driver 在……里面 APIClient.create_secretDockerClient.secrets.create

  • 添加了对以下各项的支持 scope 在……里面 APIClient.inspect_networkAPIClient.create_network ,以及他们的 DockerClient 等价物。

  • 添加了对以下参数的支持 create_swarm_specexternal_caslabelssigning_ca_certsigning_ca_keyca_force_rotateautolock_managerslog_driver 。这些附加内容也适用于 DockerClient.swarm.init

  • 添加了对以下各项的支持 insert_defaults 在……里面 APIClient.inspect_serviceDockerClient.services.get

补补

  • 修复了在日志流中读取0长度帧会错误地中断流的错误。

  • 修复了一个错误,其中 id 上的成员 Swarm 没有填充对象。

  • 修复了在升级的连接流开始时会导致某些数据的错误 (attachexec_run )消失。

2.5.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/37?closed=1)

补补

  • 修正了模式以 ** 在……里面 .dockerignore 将引发异常

  • 修复了使用 attach 使用 stream 参数设置为 False 将引发异常

2.5.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/34?closed=1)

功能

  • 添加了对 squash 中的参数 APIClient.buildDockerClient.images.build

  • 当使用API 1.23或更高版本时, load_image 现在将以JSON的形式返回进度生成器 dict s.

  • remove_image 现在返回API响应的内容。

补补

  • 修复了以下问题: auto_remove 中的参数 DockerClient.containers.run 没有被考虑在内。

  • 修复了以下位置的错误 .dockerignore 以劈开开头的模式被忽略。

  • 修复了处理以下项的问题 ** 中的图案 .dockerignore

  • 修复了在构建 FROM 不使用凭据存储时,私有Docker Hub镜像将失败。

  • 修复了调用 create_serviceupdate_service 使用 task_template 作为一个 dict 会引发一个例外。

  • 修复了中启用TTY的容器的处理 attachexec_run

  • DockerClient.containers.run 如果日志驱动程序不支持该操作,将不再尝试流式处理日志。

杂类

  • 添加了额外要求,以便在某些平台上提供更好的TLS支持。可以通过以下方式安装或需要这些服务: docker[tls] 符号。

2.4.2

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/36?closed=1)

补补

  • 修复了一个错误,其中 split_port 实用工具在传递非字符串参数时会引发异常。

2.4.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/33?closed=1)

功能

  • 添加了对 targetnetwork_mode 参数位于 APIClient.buildDockerClient.images.build

  • 添加了对 runtime 中的参数 APIClient.create_containerDockerClient.containers.run

  • 添加了对 ingress 中的参数 APIClient.create_networkDockerClient.networks.create

  • 添加了对以下各项的支持 placement 中的配置 docker.types.TaskTemplate

  • 添加了对以下各项的支持 tty 中的配置 docker.types.ContainerSpec

  • 添加了对以下各项的支持 start_period 中的配置 docker.types.Healthcheck

  • 这个 credHelpers 现在可以识别Docker配置文件中的节。

  • 现在支持包括IPv6端点在内的端口规范。

补补

  • 修复了实例化 DockerClient 使用 docker.from_env 无法正确设置默认超时值。

  • 修复了以下位置的错误 DockerClient.secrets 不能作为财产进入。

  • 修复了以下位置的错误 DockerClient.build 有时会返回错误的镜像。

  • 修复了一个错误,其中 HostConfig.nano_cpus 超过2^32会引发类型错误。

  • Image.tag 现在可以正常返回 True 当操作成功时。

  • APIClient.logsContainer.logs 现在,如果 since 参数使用不受支持的类型,而不是忽略该值。

  • 修复了某些方法会引发 NullResource 使用关键字参数提供资源ID时发生异常。

杂类

  • APIClient 现在可以对实例进行酸洗。

2.3.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/31?closed=1)

功能

  • 添加了对以下功能的支持 HostConfig 参数: volume_drivercpu_countcpu_percentnano_cpuscpuset_mems

  • 添加了对以下各项的支持 verbose 中的参数 APIClient.inspect_networkDockerClient.networks.get

  • 添加了对 environment 中的参数 APIClient.exec_createContainer.exec_run

  • 已添加 reload_config 方法来执行以下操作 APIClient ,它允许用户重新加载 config.json 来自磁盘的数据。

  • 已添加 labels 属性设置为 ImageContainer 上课。

  • 已添加 image 属性设置为 Container 班级。

补补

  • 修复了设置 replicas 调到零 ServiceMode 不会注册为有效条目。

  • 修复了以下位置的错误 DockerClient.images.build 将在成功生成后报告失败,如果 tag 已经设置好了。

  • 修复了以下问题 DockerClient.images.pull 将无法返回相应的镜像对象,如果 tag 已经设置好了。

  • 修复了一个错误,其中 mounts 提供给 APIClient.create_service 有时会被错误地解析。

  • 修复了调用 Network.containers 当没有容器与网络关联时会崩溃。

  • 修复了以下问题 Network.connectNetwork.disconnect 不会接受某些记录在案的参数。

  • 修复了一个错误,其中 cpuset_cpus 参数将不会在 APIClient.create_host_config

杂类

  • 伤残者 networks 中的参数 DockerClient.containers.run 已替换为(工作中的)单数 network 论点。

2.2.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/32?closed=1)

补补

  • 修复了一个错误,其中 status_code 的属性 APIError 异常不会反映期望值。

  • 修复了以下问题: events 如果引擎在给定时间内没有发送数据,则方法将意外超时。

2.2.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/30?closed=1)

功能

  • 默认API版本已跳转到 1.26 (引擎1.13.1+)

  • 升级插件:

    • 添加了 upgrade_plugin 方法添加到 APIClient 班级

    • 添加了 upgrade 方法添加到 Plugin 班级

  • 服务日志:

    • 添加了 service_logs 方法添加到 APIClient 班级

    • 添加了 logs 方法添加到 Service 班级

  • 添加了 df 方法来执行以下操作 APIClientDockerClient

  • 添加了对以下各项的支持 initinit_path 参数位于 HostConfigDockerClient.containers.run

  • 添加了对以下各项的支持 hostname 中的参数 ContainerSpecDockerClient.service.create

  • 在端口映射中添加了对端口范围到单个端口的支持(例如 8000-8010:80 )

补补

  • 修复了端口映射中缺少容器端口会引发意外 TypeError

  • 修复了一个错误,其中 events 中的方法 APIClientDockerClient 中设置的自定义标头不会受到影响 config.json

2.1.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/27?closed=1)

功能

  • 添加了以下修剪方法:

    • 在……里面 APIClientprune_containersprune_imagesprune_networksprune_volumes

    • 在……里面 DockerClientcontainers.pruneimages.prunenetworks.prunevolumes.prune

  • 新增对插件接口的支持:

    • 在……里面 APIClientconfigure_plugincreate_plugindisable_pluginenable_plugininspect_pluginpull_pluginpluginsplugin_privilegespush_pluginremove_plugin

    • 在……里面 DockerClientplugins.createplugins.getplugins.installplugins.list ,以及 Plugin 模特。

  • 新增对Secret API的支持:

    • 在……里面 APIClientcreate_secretinspect_secretremove_secretsecrets

    • 在……里面 DockerClientsecret.createsecret.getsecret.list 以及 Secret 模特。

    • 已添加 secrets 参数设置为 ContainerSpec 。中的每一项 secrets 列表必须是 docker.types.SecretReference 实例。

  • 添加了对以下各项的支持 cache_from 在……里面 APIClient.buildDockerClient.images.build

  • 添加了对以下各项的支持 auto_removestorage_opt 在……里面 APIClient.create_host_configDockerClient.containers.run

  • 添加了对以下各项的支持 stop_timeout 在……里面 APIClient.create_containerDockerClient.containers.run

  • 添加了对 force 中的参数 APIClient.remove_volumeVolume.remove

  • 添加了对以下各项的支持 max_failure_ratiomonitor 在……里面 UpdateConfig

  • 添加了对以下各项的支持 force_update 在……里面 TaskTemplate

  • 制造 name 中的可选参数 APIClient.create_volumeDockerClient.volumes.create

补补

  • 修复了从包含套接字类型文件的目录构建会引发意外 AttributeError

  • 修复了一个问题,该问题阻止 DockerClient.swarm.init 方法将传递给它的参数考虑在内。

  • Image.tag 现在可以在完成时正确返回布尔值。

  • 修复了几个与传球相关的问题 volumes 在……里面 DockerClient.containers.run

  • 修复了以下问题 DockerClient.image.build 不会返回一个 Image 对象,即使在生成成功时也是如此。

2.0.2

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/29?closed=1)

补补

  • 如果出现以下情况,软件包安装现在将失败 docker-py 安装软件包是为了防止两个软件包共存时出现模糊的命名冲突。

  • 添加了缺失的内容 filters 参数设置为 APIClient.networks

  • 对象生成的资源对象。 DockerClient 现在都是可以处理的。

  • 修复了使用以下命令检索未标记镜像的错误 DockerClient 会引发一个 TypeError 例外情况。

  • mode 中的参数 create_service 现在可以正确转换为引擎API的有效数据类型。使用 ServiceMode 用于高级配置。

  • 修复了一个错误,在此错误中解码的 APIClient.events 当容器停止或重新启动时,流有时会引发异常。

2.0.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/28?closed=1)

补补

  • 修复了在Windows上无法正确解析某些.docker忽略模式中的正斜杠的错误

  • 修复了以下位置的错误 Mount.parse_mount_string 我永远不会在结果中设置READ_ONLY参数 Mount

  • 修复了以下位置的错误 Mount.parse_mount_string 会错误地将主机绑定标记为 volume 键入。

2.0.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/22?closed=1)

突破性变化

  • 已删除对Python 2.6的支持

  • docker.Client has been renamed to docker.APIClient

  • docker.from_env 现在创建一个 DockerClient 实例,而不是 APIClient 实例。

  • 已从中删除HostConfig参数 APIClient.start

  • 现在支持的最低API版本为1.21(引擎版本1.9.0+)

  • 的名称 pip 包裹现在已经送到了 docker (是: docker-py )。此库的新版本将仅发布为 docker 而今而后。

  • docker.ssladapter is now docker.transport.ssladapter

  • 在某些情况下,包结构已展平,这可能会影响 docker.authdocker.utils.ports

  • docker.utils.types has been moved to docker.types

  • create_host_configcreate_ipam_poolcreate_ipam_config 已从 docker.utils 。中的以下类替换了它们 docker.typesHostConfigIPAMPoolIPAMCOnfig

功能

  • 将以用户为中心的高级API添加为 docker.DockerClient 。有关详细信息,请参阅自述文件和文档。

  • 实施 update_node 中的方法 APIClient

  • 实施 remove_node 中的方法 APIClient

  • 添加了对以下各项的支持 restart_policy 在……里面 update_container

  • 添加了对以下各项的支持 labelsshmsize 在……里面 build

  • 添加了对以下各项的支持 attachable 在……里面 create_network

  • 添加了对以下各项的支持 healthcheck 在……里面 create_container

  • 添加了对以下各项的支持 isolation 在……里面 HostConfig

  • 扩展了对以下各项的支持 pid_mode 在……里面 HostConfig (现在支持API版本>=1.24的任意值)。

  • 添加了对以下各项的支持 options 在……里面 IPAMConfig

  • 添加了一个 HealthCheck 类到 docker.types 将用于 create_container

  • 添加了一个 EndpointSpec 类到 docker.types 将用于 create_serviceupdate_service

补补

  • 修复了在调用过程中身份验证信息无法正确传递到引擎的错误 build 如果客户端使用凭据存储区。

  • 修复了中某些排除模式的问题 build

  • 修复了调用时上下文文件绑定了错误权限的问题 build 在Windows上。

  • 修复了无法从Windows上的默认位置检索身份验证信息的问题。

  • 修复了以下问题: networks 在……里面 create_serviceupdate_service 不会被正确地转换成发动机。

  • 修复了以下问题 endpoint_config 在……里面 create_serviceupdate_service 会被忽略。

  • endpoint_config in create_service and update_service has been deprecated in favor of endpoint_spec

  • 修复了以下位置的错误 constraints 在一个 TaskTemplate 对象将无法为引擎正确转换。

  • 修复了为以下对象提供词典时出现的问题 env 在……里面 ContainerSpec 会激起一个 APIError 当送到发动机时。

  • 修复了在以下情况下提供 env_file 中包含空行 create_container 会引发一个例外。

  • 修复了以下位置的错误 detach 被忽视了 exec_start

文档

  • 类和方法的文档现在作为文档字符串包含在代码中。

1.10.6

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/26?closed=1)

补补

  • 修复了设置 NpipeSocket 实例转换为阻塞模式会使其处于非阻塞模式,反之亦然。

1.10.5

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/25?closed=1)

补补

  • 修复了客户端并发尝试访问命名管道有时会导致引发可恢复异常的问题。

1.10.4

[List of PRs / issues for this release] (https://github.com/docker/docker-py/milestone/24?closed=1)

补补

  • 修复了以下问题 RestartPolicy.condition_types.ON_FAILURE 会产生无效值。

  • 修复了SSL连接适配器将接收无效参数的问题。

  • 时导致客户端无法到达API终结点的问题 base_url 吃了个拖尾劈开。

  • 修复了一个错误,其中一些 environment 中的值 create_container 包含Unicode字符将引发编码错误。

  • 修复了Windows上与命名管道传输相关的许多问题。

  • 修复了包含模式在 .dockerignore 将导致某些排除的文件出现在Windows的生成上下文中。

杂类

  • 调整后的版本要求 requests 类库。

  • 现在可以在Windows上运行docker-py测试套件了。

1.10.3

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.10.3+is%3Aclosed)

补补

  • 修复了库不处理配置文件中的身份令牌的问题。

杂类

  • 将默认连接池数量从10个增加到25个。现在可以使用 num_pools 参数中的 Client 构造函数。

1.10.2

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.10.0+is%3Aclosed)

补补

  • 更新了docker-pycreds依赖项,因为它在使用docker-py的应用程序中解析依赖项时会给某些用户带来问题。

1.10.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.10.0+is%3Aclosed)

补补

  • 删除了docker.utils.type模块以支持docker.type,但是一些应用程序显式地导入了它。它已重新添加,并显示导入警告,建议使用新模块路径。

1.10.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.10.0+is%3Aclosed)

功能

  • 新增集群模式和服务管理方式。有关详细信息,请参阅文档。

  • 在中添加了对IPv6 Docker主机地址的支持 Client 构造函数。

  • 添加了对Docker凭据存储的(只读)支持。

  • 添加了对自定义的支持 auth_config 在……里面 Client.push

  • 添加了对以下各项的支持 labels 在……里面 Client.create_volume

  • 添加了对以下各项的支持 labelsenable_ipv6 在……里面 Client.create_network

  • 添加了对以下各项的支持 force 参数输入 Client.disconnect_container_from_network

  • 添加了对以下各项的支持 pids_limitsysctlsuserns_modecpuset_cpuscpu_sharesmem_reservationkernel_memory 参数位于 Client.create_host_config

  • 添加了对以下各项的支持 link_local_ips 在……里面 create_endpoint_config

  • 添加了对 changes 中的参数 Client.import_image

  • 添加了对 version 中的参数 Client.from_env

补补

  • 修复了以下位置的错误 Client.build 将会崩溃,如果 config.json 文件包含一个 HttpHeaders 进入。

  • 修复了一个错误,在那里通过 decode=True 在某些流中,当守护程序的响应具有意外格式时,方法会崩溃。

  • 修复了以下位置的错误 environment 中未正确处理包含Unicode字符的值 create_container

  • 修复了在使用 npipe 协议有时会违反 ValueError: buffer size must be strictly positive

杂类

  • 修复docker-py中的URL报价与Docker CLI客户端报价不一致的问题。

  • 客户端现在发送TCP升级报头,以提示有关连接劫持的潜在代理。

  • 客户端现在默认使用 npipe Windows上的协议。

1.9.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.9.0+is%3Aclosed)

功能

  • 已添加 实验性的 支持Windows命名管道 (npipe:// 协议)。

  • 在中添加了对挡路IO限制的支持 Client.create_host_config 。这包括参数 blkio_weightblkio_weight_devicedevice_read_bpsdevice_write_bpsdevice_read_iopsdevice_write_iops

  • 添加了对 internal 参数输入 Client.create_network

  • 添加了对以下各项的支持 ipv4_addressipv6_address 在Utils函数中 create_endpoint_config

  • 中添加了对自定义用户代理设置的支持。 Client 构造函数。默认情况下,docker-py现在还在 User-Agent 标题。

补补

  • 修复了流式响应的HTTP超时有时设置不正确的问题。

  • 修复了显式相对路径位于 .dockerignore 无法识别文件。

1.8.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.8.1+is%3Aclosed)

补补

  • 修复了调用 login() 使用1.10.x引擎时,对默认注册表的访问将失败

  • 修复了环境文件中的值包含等号时无法正确解析的错误。

  • 切换到更受支持的 match_hostname 函数,修复了某些环境中的依赖项问题。

1.8.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.8.0+is%3Aclosed)

功能

  • 已添加 Client.update_container 方法(更新容器的资源配置)

  • 在中添加了对gzip上下文的支持 Client.build

  • 添加了在将容器连接到网络时指定IP地址的功能

  • 已添加 tmpfs 支持 Client.create_host_config

  • 添加了对 changes 参数输入 Client.commit

  • 添加了对 follow 参数输入 Client.logs

  • 添加了对 check_duplicate 参数输入 Client.create_network

  • 添加了对 decode 参数输入 Client.pushClient.pull

  • 已添加 docker.from_env 快捷功能。使用以下命令实例化客户端 kwargs_from_env

  • kwargs_from_env now supports an optional environment parameter. If present, values will be fetched from this dictionary instead of os.environ

补补

  • 修复了在证书的IP地址中使用TLS验证失败的错误 subjectAltName 字段

  • 修复了TLSConfig中的默认TLS版本在某些环境中会中断的问题。 docker-py 现在默认使用TLSv1,可以使用 ssl_version 参数输入 kwargs_from_env 或者 TLSConfig 构造函数

  • 修复了以下位置的错误 tcp 主机将无法连接到启用TLS的端点

  • 修复了加载有效坞站配置文件失败的错误

  • 修复了某些环境变量通过 create_container 的格式不正确

  • 修复了在某些边缘情况下使用Unix套接字连接会引发错误的错误

杂类

  • 默认API版本现在是1.22(在Docker 1.10.0中引入)

1.7.2

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.7.2+is%3Aclosed)

补补

  • 修复了提供自定义CA证书时错误执行TLS验证的错误。

1.7.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.7.1+is%3Aclosed)

功能

  • 添加了对以下各项的支持 shm_size 在……里面 Client.create_host_config

补补

  • 修复了Dockerfile有时会从构建上下文中排除的错误。

  • 修复了包含未知密钥的docker配置文件将引发异常的错误。

  • 修复了在同一环境中安装pyOpenSSL时SSL连接行为不正常的问题。

  • 几个TLS配置改进

1.7.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.7.0+is%3Aclosed)

功能

  • 在中添加了对CUOM IPAM配置的支持 Client.create_network

  • 将输入支持添加到 Client.exec_create

  • 添加了对以下各项的支持 stop_signal 在……里面 Client.create_host_config

  • 在Docker配置文件中增加了对自定义HTTP头的支持。

  • 中添加了对未指定传输协议的支持 base_url 当启用TLS时。

补补

  • 修复了一个错误,其中 filters 中的参数 Client.volumes 不会得到适当的应用。

  • 修复了内存限制将解析为不正确的值的错误。

  • 修复了一个错误,其中 devices 中的参数 Client.create_host_config 有时会被曲解。

  • 修复了实例化 Client 对象有时会在以下情况下崩溃 base_url 没有具体说明。

  • 修复了与TLS配置相关的错误消息将链接到不存在的(过时的)文档页面的错误。

杂类

  • 处理 .dockerignore 已经大大加快了速度。

  • 已删除对Python 3.2的显式支持

1.6.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.6.0+is%3Aclosed)

功能

  • 添加了对 since 参数输入 Client.logs (在API版本1.19中引入)

  • 添加了对 DOCKER_CONFIG 查找身份验证配置时的环境变量

  • 添加了对 stream 参数输入 Client.stats (当设置为 False ,允许用户检索单个快照,而不是恒定的数据流)

  • 添加了对 mem_swappinessoom_kill_disable 参数输入 Client.create_host_config

  • 中添加了对生成参数的支持 Client.build 通过 buildargs 帕拉姆。

补补

  • 修复了在Python 3.x中通过HTTPS流式传输数据有时行为不正确的错误

  • 修复了包含Unicode字符的命令将被错误处理的错误 Client.create_container

  • 修复了在推送/拉取镜像时,包含Unicode字符的auth config凭据会导致失败的错误。

  • 设置 tail=0 在……里面 Client.logs 不再显示过去的日志。

  • 修复了以下位置的错误 Client.pullClient.push 无法处理包含点的镜像名称。

杂类

  • 默认API版本现在是1.21(在Docker 1.9.0中引入)

  • 几个测试改进和清理应该会使套件更容易扩展和维护。

1.5.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.5.0+is%3Aclosed)

功能

  • 添加了对Docker 1.9.0中引入的网络API的支持 (Client.networksClient.create_networkClient.remove_networkClient.inspect_networkClient.connect_container_to_networkClient.disconnect_container_from_network )。

  • 添加了对Docker 1.9.0中引入的卷API的支持 (Client.volumesClient.create_volumeClient.inspect_volumeClient.remove_volume )。

  • 添加了对 group_add 中的参数 create_host_config

  • 添加了对CPU CFS的支持 (cpu_quotacpu_period )中的参数 create_host_config

  • 添加了对归档API端点的支持 (Client.get_archiveClient.put_archive )。

  • 添加了对以下各项的支持 ps_args 中的参数 Client.top

补补

  • 修复了使用Unicode字符指定卷绑定失败的错误。

  • 修复了在中提供显式协议的错误 Client.port 不会产生预期的结果。

  • 修复了优先级协议由 Client.port 将是UDP而不是预期的TCP。

杂类

  • 将客户端代码分解为几个文件,以便于维护和贡献。

  • 向存储库添加了贡献指南。

1.4.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.4.0+is%3Aclosed)

不推荐使用警告

  • docker.utils.create_host_config 不推荐使用,而是支持 Client.create_host_config

功能

  • 已添加 utils.parse_env_file 以支持环境文件。看见 [docs] (https://docker-py.readthedocs.io/en/latest/api/#create_container)用于用法。

  • 添加了对任意日志驱动程序的支持

  • 添加了对坞站主机URL中的URL路径的支持 (base_url )

  • 极大地改进了对.dockerIgnore语法的支持

补补

  • 修复了当API版本太低时exec_Inspect允许调用的错误。

  • 修复了以下位置的错误 docker.utils.ports.split_port 如果提供了开阔的范围,就会破裂。

  • 修复了可能会提供无效的镜像ID/容器ID以绕过或重新路由请求URL的错误

  • 默认设置 base_url 现在可根据操作系统进行调整(更好的Windows支持)

  • 修复了在中使用整数作为用户参数的错误 Client.create_container 会导致失败。

杂类

  • 文档修复

  • 集成测试现在作为我们持续集成的一部分运行。

  • 已更新对以下项的依赖关系 six 类库

1.3.1

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.3.1+is%3Aclosed)

补补

  • 修复了流中的空块被误解为EOF的错误。

  • datetime 传递给 Client.events 参数 sinceuntil 现在总是被认为是协调世界时。

  • 修复了Docker 1.7.x中传入错误的auth标头的错误 Client.build ,失败的构建依赖于私有镜像。

  • Client.exec_create 现在可以检索 Id 从字典中查找其容器参数关键字。

杂类

  • 404 API状态现在提升 docker.errors.NotFound 。此异常继承 APIError 这是以前用过的。

  • 文档修复

  • 测试修复程序

1.3.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.3.0+is%3Aclosed)

不推荐使用警告

  • 正如1.2.0版本中宣布的那样, Client.execute 已被取消,取而代之的是 Client.exec_createClient.exec_start

功能

  • extra_hosts 主机配置中的参数现在也可以列表形式提供。

  • 添加了对以下各项的支持 memory_limitmemswap_limit 在主机配置中,以符合最近的弃用。

  • 添加了对以下各项的支持 volume_driver 在……里面 Client.create_container

  • 添加了对卷绑定中高级模式的支持(使用 mode 密钥)

  • 添加了对以下各项的支持 decode 在……里面 Client.build (解码飞翔上的json流)

  • docker-py现在将在新的配置路径下查找登录配置,并回退到旧的路径 ~/.dockercfg 路径(如果不存在)。

补补

  • 配置文件查找现在也可以在没有定义 $HOME 环境变量。

  • 修复了ping v2私有注册表不能正常工作的问题,阻止用户推送和拉取。

  • pull 中的参数 Client.build 现在默认为 False 。修复了默认选项尝试强制拉取非远程镜像的错误。

  • 修复了从启用tty的容器中获取日志的错误,该错误在较新版本的Docker中无法正常工作

  • Client.pushClient.pull 如果HTTP状态指示错误,现在将引发异常。

  • 修复了使用Unix套接字适配器时适配器查找的错误(这影响了一些奇怪的边缘情况,有关详细信息,请参阅问题#647)

  • 修复了在提供 timeout=NoneClient.stop 将导致异常,尽管用例有效。

  • 已添加 git@ 添加到远程生成路径的有效前缀列表中。

相依性

  • WebSocket-Client依赖关系已更新到较新版本。此新版本还支持Python 3.x, attach_socket 在这些版本上也可用。

文档

  • 各种修复

1.2.3

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.2.3+is%3Aclosed)

不推荐使用警告

  • 将主机配置传递到 Client.start 方法现在已弃用。请使用 host_config 在……里面 Client.create_container 取而代之的是。

功能

  • 添加了对以下各项的支持 privileged 参数输入 Client.exec_create (仅在API>=1.19中提供)

  • 卷绑定现在还可以指定为字符串列表。

补补

  • 修复了一个错误,其中 read_only HOST_CONFIG中的参数未正确处理。

  • 修复了中的错误 Client.execute (此方法仍不推荐使用)。

  • 这个 cpuset 参数输入 Client.create_container 也作为 CpusetCpus 参数 (Cpuset 在API的最新版本中已弃用)

  • 修复了在容器内运行集成测试的问题 (make integration-test )

  • 修复了空字符串将被视为有效容器ID或镜像ID的错误。

  • 修复了中的错误 Client.insert

文档

  • 各种修复

1.2.2

补补

  • 修复了将参数传递给 Client.exec_resize 将被忽略(#576)

  • 修复了无法正确解析身份验证配置的错误 Client.pull (#577)

1.2.1

补补

  • 修复了check_resource修饰器会中断某些参数传递方法的错误。(#573)

1.2.0

[List of PRs / issues for this release] (https://github.com/docker/docker-py/issues?q=milestone%3A1.2.0+is%3Aclosed)

不推荐使用警告

  • Client.execute 正在被弃用,取而代之的是对开发人员更友好的 Client.exec_startClient.exec_create它将在1.3.0中删除

功能

  • 已添加 exec_createexec_startexec_inspectexec_resize 到客户端,准确地镜像 [EXEC API] (https://docs.docker.com/reference/api/docker_remote_api_v1.18/#exec-create)

  • 已添加 auth_config 参数为 Client.pull (允许对此拉入请求使用一次性凭据)

  • 添加了对以下各项的支持 ipc_mode 在主机配置中。

  • 添加了对 log_config 主机配置中的param。

  • 添加了对 ulimit 主机配置中的param。

  • 中添加了对容器资源限制的支持 Client.build

  • 当资源标识符(镜像或容器ID)传递给客户端方法时,我们现在检查 None 值以避免崩溃(现在会引发 docker.errors.NullResource )

  • 添加了用于解析新的 docker.utils.ports 包裹。

  • 添加了一个 version_info 属性添加到 docker 包裹。

补补

  • 修复了中的错误 Client.port 容器的JSON中缺少某个键会引发错误(现在只返回 None )

  • 修复了使用 trunc 中的参数 Client.containers 没有影响(将功能移至客户端)

  • 已对 Client.import_image 方法。

  • 修复了推送/拉入到 [V2注册表] (https://github.com/docker/distribution))

  • 修复了将容器字典传递给 Client.commit 会失败的

杂类

  • 默认API版本已升级到1.18(Docker Engine 1.6.0)

  • 几个测试覆盖率的改进

  • 文档修复和改进

1.1.0

功能

  • 已添加 dockerfile 参数支持到 Client.build (镜子 docker build -f 行为)

  • 添加了指定 'auto' 作为 version 在……里面 Client.__init__ ,允许构造函数自动检测守护程序的API版本。

补补

  • 修复了使用 decode 参数在使用Python 3.x时会中断

  • 修复了一些文件位于 .dockerignore 没有得到适当的处理

  • 固定的 resolve_authconfig 通过使其更接近Docker Engine的行为来解决问题。这应该可以解决私有注册表身份验证遇到的所有问题

  • 修复了包含冒号的密码处理不正确的问题。

  • 凹凸不平 requests 版本要求,这应该可以解决最近遇到的大多数SSL问题。

杂类

  • 几个集成测试改进。

  • 修复了单元测试中一些未关闭的资源。

  • 几个文档改进。

1.0.0

功能

  • 添加了新功能 Client.rename 方法 (docker rename )

  • 现已添加 Client.stats 方法 (docker stats )

  • Added read_only param support to utils.create_host_config and Client.start (docker run --read-only)

  • Added pid_mode param support to utils.create_host_config and Client.start (docker run --pid='host')

  • 已添加 sinceuntilfilters 参数为 Client.events

  • 已添加 decode 参数设置为 Client.statsClient.events 解码飞翔上的json对象(默认为false)。

补补

  • 修复了导致 Client.build 在提供的源是远程源时崩溃。

杂类

  • 默认API版本已升级到1.17(Docker Engine 1.5.0)

  • Client.timeout 现在是一个公共属性,当运行时需要更改请求超时时,鼓励用户使用它。

  • 已添加 Client.api_version 作为只读属性。

  • 这个 memswap_limit 中的参数 Client.create_container 现在接受类似于以下内容的字符串类型值 mem_limit (“6G”、“120000K”等)

  • 改进的文档

0.7.2

功能

  • 添加了对以下各项的支持 mac_address 在……里面 Client.create_container

补补

  • 修复了流式响应的错误 (pullpushlogs 等)不可靠(排名300)

  • 修复了Resolve_authconfig无法正确解析私有存储库配置的错误(#468)

  • 修复了一些错误不能在中正确构建的错误 client.py ,导致无益的例外不断涌现(#466)

  • 修复了以下位置的错误 Client.build 将在外部提供时尝试关闭上下文 (custom_context == True )(#458)

  • 修复了中的问题 create_host_config 其中空序列无法正确解释(#462)

杂类

  • 已添加 resolve_authconfig 测试。

0.7.1

补补

  • setup.py 现在指示解决boot2docker/的最高请求版本 assert_hostname 虫子。

  • 删除了在拉入时使用注册表集线器的FQDN时的无效异常。

  • 修复了流响应中早期HTTP错误未正确处理的问题。

  • 修复了使用Python 3.x时套接字意外关闭的错误

  • 集成测试的各种修复。

杂类

  • 小文档修复

0.7.0

突破性变化

  • 通过 dnsvolumes_from 在……里面 Client.start API版本低于1.10现在将引发异常(以前仅触发警告)

功能

  • 添加了对以下各项的支持 host_config 在……里面 Client.create_container

  • 添加了实用程序方法 docker.utils.create_host_config 帮助建立一个适当的 HostConfig 字典。

  • 添加了对 pull 中的参数 Client.build

  • 添加了对 forcerm 中的参数 Client.build

  • 添加了对以下各项的支持 extra_hosts 在……里面 Client.start

  • 添加了对自定义 timeout 在……里面 Client.wait

  • Added support for custom .dockercfg loading in Client.login (dockercfg_path argument)

补补

  • 修复了在流式传输分块响应时某些输出无法正确流式传输的错误

  • 修复了一个错误,其中 devices 参数无法识别正确的分隔符

  • Client.login 现在可以正确地扩展 registry URL(如果提供)。

  • 修复了将Unicode字符传递给 environment 在……里面 create_container 会破裂。

杂类

  • 几个单元测试和集成测试的改进。

  • Client 构造函数现在强制将 version 参数作为字符串。

  • 创建存档时,构建上下文文件现在按文件名排序(为了与docker主线行为保持一致)

0.6.0

  • 这个版本引入了突破性的变化!

突破性变化

  • 默认SSL协议现在是最高的TLS v1.x(之前是SSL v2.3)(Poodle修复)

  • 这个 history 命令现在返回字典而不是原始JSON字符串。

功能

  • 添加了 execute 指挥部。

  • 已添加 pauseunpause 命令。

  • 添加了对 cpuset 参数输入 create_container

  • 添加了对主机设备的支持 (devices 参数输入 start )

  • 添加了对 tail 参数输入 logs

  • 添加了对 filters 参数输入 imagescontainers

  • 这个 kwargs_from_env 方法现在可以在 docker.utils 模块。这将使boot2docker用户更容易连接到他们的守护进程。

补补

  • 修复了向提供上下文时未正确包含空目录的错误 Client.build

  • 修复了UNIX套接字连接未正确清理的错误,导致 ResourceWarning 在某些情况下会出现。

  • 修复了在读取流响应时docker守护进程停止时docker-py将崩溃的错误

  • 修复了Python 3中流响应的错误

  • remove_image 现在支持包含 Id 关键字作为其 id 参数(类似于其他需要资源ID的方法)

文档

  • 添加了新的MkDocs文档。当前托管于 [ReadTheDocs] (https://docker-py.readthedocs.io/en/latest/))

杂类

  • 向sdist添加了测试

  • 添加了用于在Docker中运行测试的Makefile

  • 更新的Dockerfile

0.5.3

  • 修复了通过UNIX套接字连接到守护程序时的附加问题。

0.5.2

  • 修复了当连接到TLS上时插座立即关闭的错误。

0.5.1

  • 添加了一个 assert_hostname 选项以执行以下操作 TLSConfig 其可用于禁用主机名的验证。

  • 修复了由于版本比较不正确而导致SSL无法工作的问题

  • 修复了Windows上不起作用的流

0.5.0

  • 这个版本引入了突破性的变化!

  • 已添加 insecure_registry 中的参数 Client.pushClient.pullIt defaults to False and code pushing to non-HTTPS private registries might break as a result.

  • 添加了对添加和删除功能的支持

  • 添加了对重启策略的支持

  • 在中添加了对字符串值的支持 Client.create_container %s mem_limit

  • 添加了对以下各项的支持 .dockerignore 文件位于 Client.build

补补

  • 修复了中的超时行为 Client.stop

杂类

  • Client.create_container 提供了更好的验证 volumes 参数

  • 改进的集成测试

0.4.0

  • 这个版本引入了突破性的变化!

  • 这个 base_url 参数中的 Client 构造函数现在应该允许大多数 DOCKER_HOST 环境值(fd://协议除外)

    • 因此,没有指定端口的URL现在是无效的(类似于官方客户端的行为)

  • 添加了TLS支持(请参见 [文档] (https://github.com/dotcloud/docker-py#connection-to-daemon-using-https))

补补

  • 修复了的问题 Client.build Python 3中的流式日志

杂类

  • 添加了单元测试覆盖率

  • 各种集成测试修复

0.3.2

  • 默认API版本现在为1.12(支持docker 1.0)

  • Added new methods Client.get_image and Client.load_image (docker save and docker load)

  • 添加了新方法 Client.ping

  • 添加了新方法 Client.resize

  • Client.build 属性,现在可以为其提供自定义上下文。 custom_context 参数。

  • 添加了对以下各项的支持 memswap_limit 中的参数 create_container

  • 添加了对以下各项的支持 force 中的参数 remove_container

  • 添加了对以下各项的支持 forcenoprune 参数位于 remove_image

  • 添加了对以下各项的支持 timestamps 中的参数 logs

  • 添加了对以下各项的支持 dns_search 中的参数 start

  • 添加了对以下各项的支持 network_mode 中的参数 start

  • 添加了对以下各项的支持 size 中的参数 containers

  • 添加了对以下各项的支持 volumes_fromdns 参数位于 start 。从API版本>=1.10开始,这些参数不再属于 create_container

  • Client.logs 当API版本足够时,现在使用Logs端点

补补

  • 修复了Pull中的错误,其中 repo:tag 符号未正确解释

  • 修复了Python 3中流方法中的错误(Unicode,字节/字符串相关)

  • 修复了中的错误 Client.start 其中不再支持卷的传统表示法。

杂类

  • 客户端现在引发 DockerException 在适当的时候。您可以导入 DockerException (及其子类)从 docker.errors 模块,以便在需要时捕获它们。

  • docker.APIError 已移至新的 docker.errors 模块也是如此。

  • Client.insert 在1.11以上的API版本中已弃用

  • 改进的集成测试现在应该运行得更快。

  • 现在,docker-py版本号只有一个真实来源。

0.3.1

  • 默认API版本现在为1.9

  • 流响应不再产生空行。

  • Client.create_container 现在支持 domainname 参数。

  • volumes_from 中的参数 Client.create_container 现在支持迭代式。

  • 使用时,会向docker后台进程提供身份验证凭据 Client.build (API版本1.9中的新功能)

补补

  • 响应流的各种修复 (logspull 等)。

  • 使用修复了一个错误 Client.push 使用版本低于1.5的API时

  • 修复了API版本检查的错误。

杂类

  • mock 已从运行时要求中删除。

  • 在自述文件中添加了安装说明。

0.3.0

  • 这个版本引入了突破性的变化!

  • 支持API版本1.7到1.9(Docker 0.8.0+)

  • 默认API版本现在为1.8

  • 客户端已更新,可支持请求2.x。 requests==2.2.1 现在是推荐版本。

  • 现在可以将链接指定为中的元组 Client.start (有关详细信息,请参阅文档)

  • Added support for various options in Client.create_container (network_disabled, cpu_shares, working_dir and entrypoint)

  • Client.attach 已重新制作,其工作方式类似于 Client.logs 减去历史数据。

  • 现在可以使用 stream 参数。

  • 添加了对以下各项的支持 tcp:// 作为客户端的URL base_url

  • 各种身份验证改进。

  • 添加了对自定义的支持 Client.build 暂停。

补补

  • 修复了确定私有注册表的协议有时会产生错误结果的错误。

  • 修复了以下位置的错误 Client.copy 不会接受判决书作为论据。

  • 修复了几个流错误。

  • 删除中未使用的参数 Client.import_image

  • 客户的 base_url 现在可以容忍尾部斜杠。

杂类

  • 更新的集成测试

  • 小文档修复

0.2.3

  • 支持API版本1.6

  • 添加了对链接的支持

  • 添加了对全局请求超时的支持

  • 已添加 signal 中的参数 Client.kill

  • 添加了对以下各项的支持 publish_all_ports 在……里面 Client.start

  • Client.pullClient.pushClient.build 现在可以流式传输

  • 在中添加了对WebSocket的支持 Client.attach

  • 用于Docker 0.6.5+的固定端口

  • 已添加 Client.events 方法(访问 /events 端点)

  • 更改中提供端口和卷的方式 Client.startClient.create_container̀ 使它们更简单、更直观。

补补

  • 修复了HTTPS上的私有注册表未正确处理的错误

  • 修复了在Python 3中身份验证将中断的错误

杂类

  • 测试改进

  • 文档稍有改进

0.2.2

  • 添加了对 rm 中的参数 Client.build

  • 在中添加了对tarball导入的支持 Client.import_image 通过 data 参数。

  • 这个 command 中的参数 Client.create_container 现在是可选的(对于包含默认运行命令的容器)

补补

  • 修复了Python 3支持

  • 修复了没有authconfig时匿名推送/拉取会中断的错误

  • 修复了一个错误,其中 quiet 参数将不会在 Client.containers

  • 修复了以下位置的错误 Client.push 在推送到私有注册表时会中断。

  • 已删除未使用的内容 registry 中的参数 Client.pull

  • 已删除中过时的自定义错误消息 Client.create_container

杂类

  • docker-py现在进行了单元测试,并且在源库上启用了Travis-CI。

0.2.1

  • tox.ini 文件

补补

  • 修复了软件包失败的错误,并显示 ImportError 如果请求是使用 apt-get

  • 修复了以下位置的错误 Client.build 如果给出一个 path 参数。

  • 修复了中的几个错误 Client.login 。它现在应该可以与API版本1.4、1.5一起使用。

  • 请注意, Client.login 当前不将身份验证写入 .dockercfg 文件,因此 使用此方法时,身份验证不是持久的。

0.2.0

  • 这个版本引入了突破性的变化!

  • Client.killClient.remove_containerClient.remove_imageClient.restartClient.startClient.stopClient.wait 不再支持varargs。

  • 添加了命令 Client.topClient.copy

  • 增列 lxc_conf 参数设置为 Client.start

  • 添加了对中身份验证的支持 Client.pull (API版本>=1.5)

  • 添加了对特权容器的支持。

  • 错误管理大修。新版本应该更加一致,并

  • 所有需要容器ID作为参数的方法现在也支持包含 Id 钥匙。

  • 已将许可证头添加到PYTHON文件。

  • 几个 README.md 最新消息。

补补

  • 修复了身份验证配置解析的几个错误。

  • 修复了中的错误 Client.push 如果未加载身份验证配置,则它将在其中引发异常。

  • 修复了中的错误 Client.pull 其中,如果私有注册表映像包含端口信息,则无法正确解析。

0.1.5

  • Client.build 现在使用临时文件存储构建上下文,而不是将其存储在内存中

  • 增列 nocache 选项以 Client.build

  • Client.remove_container 现在尝试删除正在运行的容器时会引发异常

  • Client.create_container 现在接受Dicts environment 参数

补补

  • 修复了中的错误 Client.create_container 在无法解析Unicode命令的Python2.6上

  • 修复了中的错误 Client.build 凡. tag 参数不会被考虑在内。

0.1.4

  • 添加了对通过UNIX套接字进行API连接的支持(默认用于docker 0.5.2+)

0.1.3

  • 客户端现在尝试从加载身份验证配置 ~/.dockercfg 。如果API版本大于1.0,则必须使用PUSH命令

0.1.2

  • 添加了一个 quiet parameterClient.build (镜像 q 接口中的参数)

0.1.1

  • 修复了build命令在发送请求之前列出tar内容的错误

  • 修复了中的错误 Client.port

0.1.0

  • 这个版本引入了突破性的变化!

  • 切换到服务器端构建系统

  • 已删除BuilderClient

  • 添加了对上下文构建的支持

  • 添加了对远程URL构建的支持

  • 添加了对python 3的支持

  • 添加了绑定装载支持

  • 新增API版本支持

  • 修复了以下位置的错误 Client.port 如果提供了类型为Number的端口,则会失败

  • 修复了以下位置的错误 Client._post_json 不会将Content-Type标头设置为 application/json

0.0.6

  • 在中添加了对自定义记录器的支持 Client.build

  • 已添加 Client.attach 命令

  • 添加了对以下各项的支持 ADD 生成器中的命令

  • 修复了中的错误 Client.logs

  • 改进的单元测试

0.0.5

  • 添加了对构建器的标记支持

  • 使用 shlex 要在创建容器时解析纯字符串命令,请执行以下操作

  • 修复了构建器中的几个错误

  • 修复了 quiet 选项输入 Client.images

  • 单元测试

0.0.4

  • 改进了错误报告

0.0.3

  • 修复了中的错误 Client.tag

  • 修复了生成的镜像在成功构建后将被移除的错误

0.0.2

  • 实现了构建器客户端的第一个版本