- This version introduces breaking changes!
- Added
insecure_registry
parameter inClient.push
andClient.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
'smem_limit
- Added support for
.dockerignore
file inClient.build
- Fixed timeout behavior in
Client.stop
Client.create_container
provides better validation of thevolumes
parameter- Improved integration tests
- This version introduces breaking changes!
- The
base_url
parameter in theClient
constructor should now allow most of theDOCKER_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)
- Fixed an issue with
Client.build
streamed logs in Python 3
- Added unit tests coverage
- Various integration tests fixes
- Default API version is now 1.12 (support for docker 1.0)
- Added new methods
Client.get_image
andClient.load_image
(docker save
anddocker load
) - Added new method
Client.ping
- Added new method
Client.resize
Client.build
can now be provided with a custom context using thecustom_context
parameter.- Added support for
memswap_limit
parameter increate_container
- Added support for
force
parameter inremove_container
- Added support for
force
andnoprune
parameters inremove_image
- Added support for
timestamps
parameter inlogs
- Added support for
dns_search
parameter instart
- Added support for
network_mode
parameter instart
- Added support for
size
parameter incontainers
- Added support for
volumes_from
anddns
parameters instart
. As of API version >= 1.10, these parameters no longer belong tocreate_container
Client.logs
now uses the logs endpoint when API version is sufficient
- 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.
- The client now raises
DockerException
s when appropriate. You can importDockerException
(and its subclasses) from thedocker.errors
module to catch them if needed. docker.APIError
has been moved to the newdocker.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.
- Default API version is now 1.9
- Streaming responses no longer yield blank lines.
Client.create_container
now supports thedomainname
parameter.volumes_from
parameter inClient.create_container
now supports iterables.- Auth credentials are provided to the docker daemon when using
Client.build
(new feature in API version 1.9)
- 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.
mock
has been removed from the runtime requirements.- Added installation instructions in the README.
- 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
andentrypoint
) Client.attach
has been reworked to work similarly toClient.logs
minus the historical data.- Logs can now be streamed using the
stream
parameter. - Added support for
tcp://
URLs as clientbase_url
. - Various auth improvements.
- Added support for custom
Client.build
timeout.
- 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.
- Updated integration tests
- Small doc fixes
- Support for API version 1.6
- Added support for links
- Added support for global request timeout
- Added
signal
parameter inClient.kill
- Added support for
publish_all_ports
inClient.start
Client.pull
,Client.push
andClient.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
andClient.create_container̀
to make them simpler and more intuitive.
- Fixed a bug where private registries on HTTPS weren't handled properly
- Fixed a bug where auth would break with Python 3
- Test improvements
- Slight doc improvements
- Added support for the
rm
parameter inClient.build
- Added support for tarball imports in
Client.import_image
throughdata
parameter. - The
command
parameter inClient.create_container
is now optional (for containers that include a default run command)
- 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 inClient.containers
- Fixed a bug where
Client.push
would break when pushing to private registries. - Removed unused
registry
parameter inClient.pull
. - Removed obsolete custom error message in
Client.create_container
.
- docker-py is now unit-tested, and Travis-CI has been enabled on the source repository.
- Improvements to the
tox.ini
file
- Fixed a bug where the package would fail with an
ImportError
if requests was installed usingapt-get
- Fixed a bug where
Client.build
would fail if given apath
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.
- This version introduces breaking changes!
Client.kill
,Client.remove_container
,Client.remove_image
,Client.restart
,Client.start
,Client.stop
andClient.wait
don't support varargs anymore.- Added commands
Client.top
andClient.copy
- Added
lxc_conf
parameter toClient.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.
- 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.
Client.build
now uses tempfiles to store build context instead of storing it in memory- Added
nocache
option toClient.build
Client.remove_container
now raises an exception when trying to remove a running containerClient.create_container
now accepts dicts for theenvironment
parameter
- 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 thetag
parameter would not be taken into account
- Added support for API connection through UNIX socket (default for docker 0.5.2+)
- 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
- Added a
quiet parameter
toClient.build
(mirrors theq
parameter in the API)
- Fixed a bug where the build command would list tar contents before sending the request
- Fixed a bug in
Client.port
- 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 toapplication/json
- 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
- 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 inClient.images
- Unit tests
- Improved error reporting
- Fixed a bug in
Client.tag
- Fixed a bug where generated images would be removed after a successful build
- Implemented first version of the builder client