ChangeLog
0.5.3
- Fixed attaching when connecting to the daemon over a UNIX socket.
0.5.2
- Fixed a bug where sockets were closed immediately when attaching over TLS.
0.5.1
- Added a
assert_hostname option to TLSConfig which can be used to disable verification of hostnames. - Fixed SSL not working due to an incorrect version comparison
- Fixed streams not working on Windows
0.5.0
- This version introduces breaking changes!
- Added
insecure_registry parameter in Client.push and Client.pull. It defaults to False and code pushing to non-HTTPS private registries might break as a result. - Added support for adding and dropping capabilities
- Added support for restart policy
- Added support for string values in
Client.create_container's mem_limit - Added support for
.dockerignore file in Client.build
Bugfixes
- Fixed timeout behavior in
Client.stop
Miscellaneous
Client.create_container provides better validation of the volumes parameter- Improved integration tests
0.4.0
- This version introduces breaking changes!
- The
base_url parameter in the Client constructor should now allow most of the DOCKER_HOST environment values (except for the fd:// protocol)- As a result, URLs that don‘t specify a port are now invalid (similar to the official client’s behavior)
- Added TLS support (see documentation)
Bugfixes
- Fixed an issue with
Client.build streamed logs in Python 3
Miscellaneous
- Added unit tests coverage
- Various integration tests fixes
0.3.2
- Default API version is now 1.12 (support for docker 1.0)
- Added new methods
Client.get_image and Client.load_image (docker save and docker load) - Added new method
Client.ping - Added new method
Client.resize Client.build can now be provided with a custom context using the custom_context parameter.- Added support for
memswap_limit parameter in create_container - Added support for
force parameter in remove_container - Added support for
force and noprune parameters in remove_image - Added support for
timestamps parameter in logs - Added support for
dns_search parameter in start - Added support for
network_mode parameter in start - Added support for
size parameter in containers - Added support for
volumes_from and dns parameters in start. As of API version >= 1.10, these parameters no longer belong to create_container Client.logs now uses the logs endpoint when API version is sufficient
Bugfixes
- Fixed a bug in pull where the
repo:tag notation wasn't interpreted properly - Fixed a bug in streaming methods with python 3 (unicode, bytes/str related)
- Fixed a bug in
Client.start where legacy notation for volumes wasn't supported anymore.
Miscellaneous
- The client now raises
DockerExceptions when appropriate. You can import DockerException (and its subclasses) from the docker.errors module to catch them if needed. docker.APIError has been moved to the new docker.errors module as well.Client.insert is deprecated in API version > 1.11- Improved integration tests should now run much faster.
- There is now a single source of truth for the docker-py version number.
0.3.1
- Default API version is now 1.9
- Streaming responses no longer yield blank lines.
Client.create_container now supports the domainname parameter.volumes_from parameter in Client.create_container now supports iterables.- Auth credentials are provided to the docker daemon when using
Client.build (new feature in API version 1.9)
Bugfixes
- Various fixes for response streams (
logs, pull, etc.). - Fixed a bug with
Client.push when using API version < 1.5 - Fixed a bug with API version checks.
Miscellaneous
mock has been removed from the runtime requirements.- Added installation instructions in the README.
0.3.0
- This version introduces breaking changes!
- Support for API version 1.7 through 1.9 (Docker 0.8.0+)
- Default API version is now 1.8
- The client has been updated to support Requests 2.x.
requests==2.2.1 is now the recommended version. - Links can now be specified as tuples in
Client.start (see docs for more information) - Added support for various options in
Client.create_container (network_disabled, cpu_shares, working_dir and entrypoint) Client.attach has been reworked to work similarly to Client.logs minus the historical data.- Logs can now be streamed using the
stream parameter. - Added support for
tcp:// URLs as client base_url. - Various auth improvements.
- Added support for custom
Client.build timeout.
Bugfixes
- Fixed a bug where determining the protocol of a private registry would sometimes yield the wrong result.
- Fixed a bug where
Client.copy wouldn't accept a dict as argument. - Fixed several streaming bugs.
- Removed unused parameter in
Client.import_image. - The client's
base_url now tolerates trailing slashes.
Miscellaneous
- Updated integration tests
- Small doc fixes
0.2.3
- Support for API version 1.6
- Added support for links
- Added support for global request timeout
- Added
signal parameter in Client.kill - Added support for
publish_all_ports in Client.start Client.pull, Client.push and Client.build can be streamed now- Added support for websockets in
Client.attach - Fixed ports for Docker 0.6.5+
- Added
Client.events method (access to the /events endpoint) - Changed the way the ports and volumes are provided in
Client.start and Client.create_container̀€ to make them simpler and more intuitive.
Bugfixes
- Fixed a bug where private registries on HTTPS weren't handled properly
- Fixed a bug where auth would break with Python 3
Miscellaneous
- Test improvements
- Slight doc improvements
0.2.2
- Added support for the
rm parameter in Client.build - Added support for tarball imports in
Client.import_image through data parameter. - The
command parameter in Client.create_container is now optional (for containers that include a default run command)
Bugfixes
- Fixed Python 3 support
- Fixed a bug where anonymous push/pull would break when no authconfig is present
- Fixed a bug where the
quiet parameter wouldn't be taken into account in Client.containers - Fixed a bug where
Client.push would break when pushing to private registries. - Removed unused
registry parameter in Client.pull. - Removed obsolete custom error message in
Client.create_container.
Miscellaneous
- docker-py is now unit-tested, and Travis-CI has been enabled on the source repository.
0.2.1
- Improvements to the
tox.ini file
Bugfixes
- Fixed a bug where the package would fail with an
ImportError if requests was installed using apt-get - Fixed a bug where
Client.build would fail if given a path parameter. - Fixed several bugs in
Client.login. It should now work with API versions 1.4, 1.5. - Please note that
Client.login currently doesn't write auth to the .dockercfg file, thus auth is not persistent when using this method.
0.2.0
- This version introduces breaking changes!
Client.kill, Client.remove_container, Client.remove_image, Client.restart, Client.start, Client.stop and Client.wait don't support varargs anymore.- Added commands
Client.top and Client.copy - Added
lxc_conf parameter to Client.start - Added support for authentication in
Client.pull (API version >=1.5) - Added support for privileged containers.
- Error management overhaul. The new version should be more consistent and
- All methods that expected a container ID as argument now also support a dict containing an
Id key. - Added license header to python files.
- Several
README.md updates.
Bugfixes
- Fixed several bugs with auth config parsing.
- Fixed a bug in
Client.push where it would raise an exception if the auth config wasn't loaded. - Fixed a bug in
Client.pull where private registry images wouldn't be parsed properly if it contained port information.
0.1.5
Client.build now uses tempfiles to store build context instead of storing it in memory- Added
nocache option to Client.build Client.remove_container now raises an exception when trying to remove a running containerClient.create_container now accepts dicts for the environment parameter
Bugfixes
- Fixed a bug in
Client.create_container on Python 2.6 where unicode commands would fail to be parsed - Fixed a bug in
Client.build where the tag parameter would not be taken into account
0.1.4
- Added support for API connection through UNIX socket (default for docker 0.5.2+)
0.1.3
- The client now tries to load the auth config from
~/.dockercfg. This is necessary to use the push command if API version is >1.0
0.1.2
- Added a
quiet parameter to Client.build (mirrors the q parameter in the API)
0.1.1
- Fixed a bug where the build command would list tar contents before sending the request
- Fixed a bug in
Client.port
0.1.0
- This version introduces breaking changes!
- Switched to server side build system
- Removed the BuilderClient
- Added support for contextual builds
- Added support for remote URL builds
- Added python 3 support
- Added bind mounts support
- Added API version support
- Fixed a bug where
Client.port would fail if provided with a port of type number - Fixed a bug where
Client._post_json wouldn't set the Content-Type header to application/json
0.0.6
- Added support for custom loggers in
Client.build - Added
Client.attach command - Added support for
ADD command in builder - Fixed a bug in
Client.logs - Improved unit tests
0.0.5
- Added tag support for the builder
- Use
shlex to parse plain string commands when creating a container - Fixed several bugs in the builder
- Fixed the
quiet option in Client.images - Unit tests
0.0.4
0.0.3
- Fixed a bug in
Client.tag - Fixed a bug where generated images would be removed after a successful build
0.0.2
- Implemented first version of the builder client