A Python library for the Docker Engine API

Overview

Docker SDK for Python

Build Status

A Python library for the Docker Engine API. It lets you do anything the docker command does, but from within Python apps – run containers, manage containers, manage Swarms, etc.

Installation

The latest stable version is available on PyPI. Either add docker to your requirements.txt file or install with pip:

pip install docker

If you are intending to connect to a docker host via TLS, add docker[tls] to your requirements instead, or install with pip:

pip install docker[tls]

Usage

Connect to Docker using the default socket or the configuration in your environment:

import docker
client = docker.from_env()

You can run containers:

>>> client.containers.run("ubuntu:latest", "echo hello world")
'hello world\n'

You can run containers in the background:

>>> client.containers.run("bfirsh/reticulate-splines", detach=True)
<Container '45e6d2de7c54'>

You can manage containers:

>>> client.containers.list()
[<Container '45e6d2de7c54'>, <Container 'db18e4f20eaa'>, ...]

>>> container = client.containers.get('45e6d2de7c54')

>>> container.attrs['Config']['Image']
"bfirsh/reticulate-splines"

>>> container.logs()
"Reticulating spline 1...\n"

>>> container.stop()

You can stream logs:

>>> for line in container.logs(stream=True):
...   print(line.strip())
Reticulating spline 2...
Reticulating spline 3...
...

You can manage images:

>>> client.images.pull('nginx')
<Image 'nginx'>

>>> client.images.list()
[<Image 'ubuntu'>, <Image 'nginx'>, ...]

Read the full documentation to see everything you can do.

Comments
  • SSL: CERTIFICATE_VERIFY_FAILED error with boot2docker

    SSL: CERTIFICATE_VERIFY_FAILED error with boot2docker

    Using the latest versions of docker-py and boot2docker I'm unable to make simple requests, receiving an SSL: CERTIFICATE_VERIFY_FAILED error.

    Given the following test case.

    > cat test.py
    from docker.client import Client
    from docker.utils import kwargs_from_env
    
    kwargs = kwargs_from_env()
    
    client = Client(**kwargs)
    print client.version()
    

    I get the following error:

    python test.py                                                                                                                                                                                                     ~/Documents/puppet2docker
    Traceback (most recent call last):
      File "test.py", line 10, in <module>
        print client.version()
      File "/Users/garethr/Documents/puppet2docker/lib/python2.7/site-packages/docker_py-0.7.1-py2.7.egg/docker/client.py", line 986, in version
        return self._result(self._get(self._url("/version")), True)
      File "/Users/garethr/Documents/puppet2docker/lib/python2.7/site-packages/docker_py-0.7.1-py2.7.egg/docker/client.py", line 81, in _get
        return self.get(url, **self._set_request_timeout(kwargs))
      File "/Users/garethr/Documents/puppet2docker/lib/python2.7/site-packages/requests-2.4.3-py2.7.egg/requests/sessions.py", line 469, in get
        return self.request('GET', url, **kwargs)
      File "/Users/garethr/Documents/puppet2docker/lib/python2.7/site-packages/requests-2.4.3-py2.7.egg/requests/sessions.py", line 457, in request
        resp = self.send(prep, **send_kwargs)
      File "/Users/garethr/Documents/puppet2docker/lib/python2.7/site-packages/requests-2.4.3-py2.7.egg/requests/sessions.py", line 569, in send
        r = adapter.send(request, **kwargs)
      File "/Users/garethr/Documents/puppet2docker/lib/python2.7/site-packages/requests-2.4.3-py2.7.egg/requests/adapters.py", line 420, in send
        raise SSLError(e, request=request)
    requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)
    

    Looking further, kwargs_to_env does appear to have picked everything up correctly:

    (Pdb) kwargs['tls'].__dict__
    {'assert_hostname': None, 'cert': ('/Users/garethr/.boot2docker/certs/boot2docker-vm/cert.pem', '/Users/garethr/.boot2docker/certs/boot2docker-vm/key.pem'), 'ssl_version': 5, 'verify': '/Users/garethr/.boot2docker/certs/boot2docker-vm/ca.pem'}
    

    And the referenced certs exist:

    ls /Users/garethr/.boot2docker/certs/boot2docker-vm/
    ca.pem   cert.pem key.pem
    

    I'm using Python 2.7.9 on OSX.

    > python --version
    Python 2.7.9
    

    And using docker-py 0.7.1 and boot2docker v1.4.1.

    > pip list                                                                                                                                                         backports.ssl-match-hostname (3.4.0.2)
    cement (2.4.0)
    docker-py (0.7.1)
    pip (1.5.6)
    puppet-docker (0.1.0)
    requests (2.4.3)
    setuptools (3.6)
    six (1.9.0)
    websocket-client (0.23.0)
    wsgiref (0.1.2)
    
    > boot2docker version
    Boot2Docker-cli version: v1.4.1
    Git commit: 43241cb
    

    Note that with the above environment, I can successfully use the official docker CLI.

    > docker version
    Client version: 1.4.1
    Client API version: 1.16
    Go version (client): go1.3.3
    Git commit (client): 5bc2ff8
    OS/Arch (client): darwin/amd64
    Server version: 1.4.1
    Server API version: 1.16
    Go version (server): go1.3.3
    Git commit (server): 5bc2ff8
    
    status/need-info group/documentation 
    opened by garethr 42
  • Add device requests

    Add device requests

    Another take on #2395: while the Docker CLI adds a --gpus parameter, it is in fact syntatic sugar for the DeviceRequests argument in a container's host config. This PR adds support for any kind of device request, as it seems the API was designed to handle more in the future than just GPUs.

    It would still be possible to support another gpus=... argument in a way similar to #2465, that could handle the previous nvidia runtime and set the environment variables itself or use the new device requests.

    For example, with NVIDIA's test image, the equivalent of --gpus all would be:

    client.containers.run(
        'nvidia/cuda:9.0-base',
        'nvidia-smi',
        device_requests=[
            docker.types.DeviceRequest(count=-1, capabilities=[['gpu']])
        ]
    )
    

    The equivalent of --gpus 2 would be DeviceRequest(count=2, capabilities=[['gpu']]).

    And for something like --gpus device=GPU-c6e298ba-aa33-4083-8ae3-db4e27037475,driver=nvidia,capabilities="utility,display":

    client.containers.run(
        'nvidia/cuda:9.0-base',
        'nvidia-smi',
        device_requests=[
            docker.types.DeviceRequest(
                driver='nvidia',
                device_ids=['GPU-c6e298ba-aa33-4083-8ae3-db4e27037475'],
                capabilities=[
                    ['gpu', 'utility', 'display']
                ]
            )
        ]
    )
    
    opened by Lucidiot 32
  • tlsv1 alert protocol version on 1.7.1 and 1.7.2 but not on 1.7.0

    tlsv1 alert protocol version on 1.7.1 and 1.7.2 but not on 1.7.0

    Similar to #949 I'm discovering issues with latest versions of docker-py running against docker 1.10.2 instance. I'm using docker.utils.kwargs_from_env(assert_hostname=False). Things work fine with version 1.7.0.

    Docker client is initialized via

    client = docker.Client(
        version='auto',
        **docker.utils.kwargs_from_env(assert_hostname=False))
    

    with docker environment variables being set to the following (via docker-machine)

    DOCKER_HOST=tcp://192.168.156.137:2376
    DOCKER_MACHINE_NAME=dev2
    DOCKER_TLS_VERIFY=1
    DOCKER_CERT_PATH=/Users/benjixx/.docker/machine/machines/dev2
    

    docker-py 1.7.1 and 1.7.2 now raise the following exception:

    DockerException: Error while fetching server API version: [Errno 1] _ssl.c:507: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
    

    Any idea what's happening here?

    kind/bug 
    opened by benjixx 27
  • Fix lost data & hangs when reading chunked streams

    Fix lost data & hangs when reading chunked streams

    I managed to track down a hang when calling build() to a problem handling streams.

    strace proved that the problem was somewhere in the python client and I manage to create a test harness for this issue.

    This is not the most elegant fix, I could do with some advice:

    • I've changed the return value of attach_socket
    • In _stream_helper it creates a new fileobj, when we just threw away the one which had our data buffer in it, we could just keep the old one.
    opened by leth 27
  • error while using docker for mac client 2.5.0.0

    error while using docker for mac client 2.5.0.0

    Using python 3.8.5 and docker-py version 4.3.1

      File "/Users/mmoskwa/.local/share/virtualenvs/lunchbox-5JMc0Mx2/lib/python3.8/site-packages/docker/models/containers.py", line 887, in get
        resp = self.client.api.inspect_container(container_id)
      File "/Users/mmoskwa/.local/share/virtualenvs/lunchbox-5JMc0Mx2/lib/python3.8/site-packages/docker/utils/decorators.py", line 19, in wrapped
        return f(self, resource_id, *args, **kwargs)
      File "/Users/mmoskwa/.local/share/virtualenvs/lunchbox-5JMc0Mx2/lib/python3.8/site-packages/docker/api/container.py", line 771, in inspect_container
        self._get(self._url("/containers/{0}/json", container)), True
      File "/Users/mmoskwa/.local/share/virtualenvs/lunchbox-5JMc0Mx2/lib/python3.8/site-packages/docker/utils/decorators.py", line 46, in inner
        return f(self, *args, **kwargs)
      File "/Users/mmoskwa/.local/share/virtualenvs/lunchbox-5JMc0Mx2/lib/python3.8/site-packages/docker/api/client.py", line 228, in _get
        return self.get(url, **self._set_request_timeout(kwargs))
      File "/Users/mmoskwa/.local/share/virtualenvs/lunchbox-5JMc0Mx2/lib/python3.8/site-packages/requests/sessions.py", line 543, in get
        return self.request('GET', url, **kwargs)
      File "/Users/mmoskwa/.local/share/virtualenvs/lunchbox-5JMc0Mx2/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
        resp = self.send(prep, **send_kwargs)
      File "/Users/mmoskwa/.local/share/virtualenvs/lunchbox-5JMc0Mx2/lib/python3.8/site-packages/requests/sessions.py", line 685, in send
        r.content
      File "/Users/mmoskwa/.local/share/virtualenvs/lunchbox-5JMc0Mx2/lib/python3.8/site-packages/requests/models.py", line 829, in content
        self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
      File "/Users/mmoskwa/.local/share/virtualenvs/lunchbox-5JMc0Mx2/lib/python3.8/site-packages/requests/models.py", line 754, in generate
        raise ChunkedEncodingError(e)
    requests.exceptions.ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))
    
    opened by mattmoskwa 25
  • Fix to enable streaming container logs reliably

    Fix to enable streaming container logs reliably

    This patch is based on @kevinastone 's code in: https://github.com/docker/docker-py/issues/300#issuecomment-55320544

    Started a ubuntu container that just runs "ping 8.8.8.8" and tried the sample code in https://gist.github.com/dims/c3327f633c526847c8e5 to recreate the problem mentioned in: https://github.com/docker/docker-py/issues/300

    To debug the problem i printed the byte array read in recvall when reading STREAM_HEADER_SIZE_BYTES and realized that the data being read was far ahead of the actual start of the header documented in the vnd.docker.raw-stream of the docker remote api. This is possibly because the requests/urllib3 is reading ahead a bit more and we shouldn't be trying to hack the internals of those projects. So just using the documented file-like response.raw is good enough for us to get the functionality we need which is being able to read for exactly where the stream header starts. With this change i can reliably stream the logs just like "docker logs --follow".

    opened by dims 22
  • requests.exceptions.SSLError: hostname '192.168.59.103' doesn't match 'boot2docker'

    requests.exceptions.SSLError: hostname '192.168.59.103' doesn't match 'boot2docker'

    Hey guys,

    I'm try to access some boot2docker (1.3.1 - mac) VMs built under custom name with docker-py (latest pip version - 0.6.0), and it seems there is something wrong in the SSL module.

    [thibaultbronchain@mactibo ~:]$    export DOCKER_HOST=tcp://192.168.59.103:2376
    [thibaultbronchain@mactibo ~:]$    export DOCKER_CERT_PATH=/Users/thibaultbronchain/.boot2docker/certs/Docker-Wordpress-NoASG-DualNode-0
    [thibaultbronchain@mactibo ~:]$    export DOCKER_TLS_VERIFY=1
    [thibaultbronchain@mactibo ~:]$python
    Python 2.7.6 (default, Sep  9 2014, 15:04:36)
    [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import docker
    >>> from docker.client import Client
    >>> from docker.utils import kwargs_from_env
    >>> client = docker.Client(**kwargs_from_env())
    >>> kwargs_from_env()
    {'tls': <docker.tls.TLSConfig object at 0x10a970b10>, 'base_url': 'https://192.168.59.103:2376'}
    >>> client.images()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/Library/Python/2.7/site-packages/docker/client.py", line 634, in images
        res = self._result(self._get(self._url("/images/json"), params=params),
      File "/Library/Python/2.7/site-packages/docker/client.py", line 76, in _get
        return self.get(url, **self._set_request_timeout(kwargs))
      File "/Library/Python/2.7/site-packages/requests/sessions.py", line 469, in get
        return self.request('GET', url, **kwargs)
      File "/Library/Python/2.7/site-packages/requests/sessions.py", line 457, in request
        resp = self.send(prep, **send_kwargs)
      File "/Library/Python/2.7/site-packages/requests/sessions.py", line 569, in send
        r = adapter.send(request, **kwargs)
      File "/Library/Python/2.7/site-packages/requests/adapters.py", line 420, in send
        raise SSLError(e, request=request)
    requests.exceptions.SSLError: hostname '192.168.59.103' doesn't match 'boot2docker'
    >>> ^D
    [thibaultbronchain@mactibo ~:]$docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    

    Thanks for the help!

    opened by tbronchain 22
  • Support for .dockerignore

    Support for .dockerignore

    According to https://docs.docker.com/reference/builder/#dockerignore you can have a .dockerignore file that prevents items from being ADDed. Mine looks like this:

    .git
    

    And then in my Dockerfile I have

    ADD . /root/mycodes/
    

    Unfortunately I still see /root/mycodes/.git in my container, which is sad because it's almost 300M. Is there any way to support this?

    group/api-upgrade kind/feature-request 
    opened by hamiltont 22
  • WIP: Adding nvidia-docker support

    WIP: Adding nvidia-docker support

    Currently just a proof of concept for nvidia-docker support, as discussed in docker/compose#4657

    TL;DR;

    It's working at least. Automatically used nvidia-docker mounts when starting a container with GPU support


    There's a number of things I'm not 100% happy with yet.

    1. Where I had to put the code (at the very least I should put it in its own function)
    2. It's pretty fragile right now.
      • If you don't have nvidia on your host, it'll probably fail because devices don't exist
      • If you specify a bad GPU with NV_GPU it will fail. But this is the same behavior as nvidia-docker, this this is perhaps ok
    3. If you want to disable the nvidia-docker support feature, there's nothing to do that with.

    I'd like some guidance to these issues and what direction you would like me to go in.

    opened by andyneff 20
  • Add utility to create a build context from a git repository.

    Add utility to create a build context from a git repository.

    The reason is because it won't work if you pass a private git repository as the build URL.

    See docker/compose#2856 for more information, including a simple test-case by @zkf.

    Instead, docker-py should follow the same steps as docker: if the build URL is a git repository, it should clone the repo locally and pass as a tarball to the daemon.

    I believe the problem is caused by how docker-py performs a build (here) instead of following the same steps as docker.

    Please let me know if I'm misunderstanding the problem or if there's any other way I can help.

    Here is my version information:

    OS X El Capitan 10.11.2 (15C50)
    docker-py==1.8.0.dev0
    Python 2.7.9
    Client:
     Version:      1.11.0-dev
     API version:  1.23
     Go version:   go1.6
     Git commit:   bc730f3-unsupported
     Built:        Tue Mar  8 19:01:29 2016
     OS/Arch:      linux/amd64
    
    Server:
     Version:      1.11.0-dev
     API version:  1.23
     Go version:   go1.6
     Git commit:   bc730f3-unsupported
     Built:        Tue Mar  8 19:01:29 2016
     OS/Arch:      linux/amd64
    
    kind/feature-request 
    opened by apeace 20
  • docker-py cannot bind local files into a container?

    docker-py cannot bind local files into a container?

    hi,all! I ofen bind host files into containers by using "-v /path/to/host/file:/container/file:ro", when I using command line client. But now, I need to use docker-py to manage my containers. And I also need to do the same work:bind some host files into containers. And my code is like this (for example)


    ......
    "volumes":["/etc/localtime"],
    ......
    "binds":{
            "/etc/localtime":{
                     "bind":"/etc/localtime",
                     "ro":true
            }
    },
    

    unfortunately, problem emerged: APIError: 500 Server Error: Internal Server Error ( "Cannot start container 1c1......d7051: setup mount namespace mounting /var/lib/docker/vfs/dir/575....9f73 into /var/lib/docker/devicemapper/mnt/1c1f7f.....1edd7051/rootfs/etc/localtime not a directory")

    what is the solution?

    kind/bug level/docker-engine 
    opened by wuyudian1 20
  • Weird behavior with follow=True blocking execution when running container exits

    Weird behavior with follow=True blocking execution when running container exits

    Environment:

    OS: Ubuntu 22.04.1 LTS Docker Engine: 20.10.21 Python version: 3.10.6 docker-py: 6.0.1

    Context

    The Python script below runs wrapped by a GitLab runner process that is a CLI application written with Typer. The logging driver of Docker is journald

    GitLab Runner: 15.6.1 Typer: 0.7.0

    Question

    I am trying to print logs from a running container. (it's execution is very fast)

    import docker
    
    cli = docker.from_env()
    container = cli.containers.run(image=image, detach=True, remove=False)
    
    for cl in container.logs(stream=True, follow=True):
        typer.secho(cl.strip(), fg=typer.colors.BLUE)
    
    container.remove()
    

    For a reason, container.logs(stream=True, follow=True) is acting weirdly whenever the detached container exits. Sometimes the execution of my program resumes and finishes properly and very often, the underlying container exits and my program get stuck in the for loop, doing nothing.

    This has for consequence that jobs running in GitLab are timeouting due to no exit code of my cli.

    It seems most likely system related since I can run the cli from my laptop without trouble. Any ideas from where the problem could come?

    opened by MadJlzz 0
  • Add `network_driver_opt` to client.containers run and create

    Add `network_driver_opt` to client.containers run and create

    This pull request adds an additional parameter to client.containers.run and client.containers.create called network_driver_opt.

    This parameter allows to specify a dict which allows to pass to the driver some custom values, and it is the same already present in Network.connect.

    I requested this feature in #2896, but it was never implemented.

    I think it could be useful to also export other parameters of networking_config.

    opened by Skazza94 0
  • build(deps): Bump setuptools from 63.2.0 to 65.5.1

    build(deps): Bump setuptools from 63.2.0 to 65.5.1

    Bumps setuptools from 63.2.0 to 65.5.1.

    Changelog

    Sourced from setuptools's changelog.

    v65.5.1

    Misc ^^^^

    • #3638: Drop a test dependency on the mock package, always use :external+python:py:mod:unittest.mock -- by :user:hroncok
    • #3659: Fixed REDoS vector in package_index.

    v65.5.0

    Changes ^^^^^^^

    • #3624: Fixed editable install for multi-module/no-package src-layout projects.
    • #3626: Minor refactorings to support distutils using stdlib logging module.

    Documentation changes ^^^^^^^^^^^^^^^^^^^^^

    • #3419: Updated the example version numbers to be compliant with PEP-440 on the "Specifying Your Project’s Version" page of the user guide.

    Misc ^^^^

    • #3569: Improved information about conflicting entries in the current working directory and editable install (in documentation and as an informational warning).
    • #3576: Updated version of validate_pyproject.

    v65.4.1

    Misc ^^^^

    • #3613: Fixed encoding errors in expand.StaticModule when system default encoding doesn't match expectations for source files.
    • #3617: Merge with pypa/distutils@6852b20 including fix for pypa/distutils#181.

    v65.4.0

    Changes ^^^^^^^

    v65.3.0

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Examples

    Examples

    Hi, it would be great if you guys could provide more example scripts for building specific images, automating docker container builds and running multiple commands inside a single container. Apologies if there are examples already, I haven't seemed to find many. I know in the documentation there are some line by line examples, but I didn't find them explanatory enough and I am struggling a fair bit with docker.

    opened by James-Ilosta 0
  • Can't start container. Unsure why

    Can't start container. Unsure why

    I’m trying to run docker at the moment from the python api. I’m just trying to make a container and then run commands using the exec_run command, however, my container seems to exit immediately after using the following:

    import docker from docker.types import Mount

    import os

    client = docker.from_env() source_directory = "C:\Users\usr\data" target="/data" volume=os.getcwd() + "/data"

    image_selected='openfoam/openfoam7-paraview56' container=client.api.create_container(image_selected) container=client.containers.get(container['Id']) print(container) container.start()

    I’ve tried to add in a pause command with the following: container=client.api.create_container(image_selected, command="while true; do sleep 10000000; done")

    and this doesn’t have any effect and the container still exits immediately. image

    I don’t suppose you would have any idea on how to troubleshoot. As far as I’m aware there are no errors that are outputted.

    Here is the terminal output. I tried to use container.start() 2 times so that is why there are 3 of the initial messages:

    image

    Do you have any ideas?

    opened by James-Ilosta 2
Releases(6.0.1)
  • 6.0.1(Nov 2, 2022)

    🐛 Bugfixes

    • Fix for The pipe has been ended errors on Windows (#3056)
    • Support floats for timestamps in Docker logs (since / until) (#3031)

    What's Changed

    • docs: install package in ReadTheDocs build by @milas in https://github.com/docker/docker-py/pull/3032
    • Use latest stable syntax for Dockerfiles by @thaJeztah in https://github.com/docker/docker-py/pull/3035
    • feat: add support for floats to docker logs params since / until sinc… by @ArchiMoebius in https://github.com/docker/docker-py/pull/3031
    • Change prune test to use anonymous volumes by @cpuguy83 in https://github.com/docker/docker-py/pull/3051
    • socket: handle npipe close by @nicks in https://github.com/docker/docker-py/pull/3056

    New Contributors

    • @ArchiMoebius made their first contribution in https://github.com/docker/docker-py/pull/3031
    • @nicks made their first contribution in https://github.com/docker/docker-py/pull/3056

    Full Changelog: https://github.com/docker/docker-py/compare/6.0.0...6.0.1

    Source code(tar.gz)
    Source code(zip)
    docker-6.0.1-py3-none-any.whl(144.04 KB)
    docker-6.0.1.tar.gz(251.86 KB)
  • 6.0.0(Aug 18, 2022)

    ℹ️ Upgrade Notes

    • Minimum supported Python version is 3.7+
    • When installing with pip, the docker[tls] extra is deprecated and a no-op, use docker for same functionality (TLS support is always available now)
    • Native Python SSH client (used by default / use_ssh_client=False) will now reject unknown host keys with paramiko.ssh_exception.SSHException
    • Short IDs are now 12 characters instead of 10 characters (same as Docker CLI)
    • Version metadata is now exposed as __version__

    ✨ Features

    • Python 3.10 support
    • Automatically negotiate most secure TLS version
    • Add platform (e.g. linux/amd64, darwin/arm64) to container create & run
    • Add support for GlobalJob and ReplicatedJobs for Swarm
    • Add remove() method on Image
    • Add force param to disable() on Plugin

    🐛 Bugfixes

    • Fix install issues on Windows related to pywin32
    • Do not accept unknown SSH host keys in native Python SSH mode
    • Use 12 character short IDs for consistency with Docker CLI
    • Ignore trailing whitespace in .dockerignore files
    • Fix IPv6 host parsing when explicit port specified
    • Fix ProxyCommand option for SSH connections
    • Do not spawn extra subshell when launching external SSH client
    • Improve exception semantics to preserve context
    • Documentation improvements (formatting, examples, typos, missing params)

    🔧 Miscellaneous

    • Upgrade dependencies in requirements.txt to latest versions
    • Remove extraneous transitive dependencies
    • Eliminate usages of deprecated functions/methods
    • Test suite reliability improvements
    • GitHub Actions workflows for linting, unit tests, integration tests, and publishing releases

    Changelog

    • Update changelog for 5.0.3 by @aiordache in https://github.com/docker/docker-py/pull/2897
    • Add support for Python 3.10 by @hugovk in https://github.com/docker/docker-py/pull/2898
    • Bump paramiko from 2.8.0 to 2.10.1 by @dependabot in https://github.com/docker/docker-py/pull/2974
    • deps: upgrade pywin32 & relax version constraint by @milas in https://github.com/docker/docker-py/pull/3004
    • ci: remove Python 3.6 and add 3.11 pre-releases by @milas in https://github.com/docker/docker-py/pull/3005
    • utils: fix IPv6 address w/ port parsing by @milas in https://github.com/docker/docker-py/pull/3006
    • test_create_with_device_cgroup_rules: don't check devices.list by @thaJeztah in https://github.com/docker/docker-py/pull/2940
    • Fix exception semantics in _raise_for_status by @kmaork in https://github.com/docker/docker-py/pull/2954
    • tls: use auto-negotiated highest version by @milas in https://github.com/docker/docker-py/pull/3007
    • sshcon: remove use of self.ssh_conf by @glicht in https://github.com/docker/docker-py/pull/2993
    • Use packaging instead of distutils for Version by @FrancescoCasalegno in https://github.com/docker/docker-py/pull/2931
    • test: fix a couple flaky/broken tests by @milas in https://github.com/docker/docker-py/pull/3008
    • ci: add flake8 job by @milas in https://github.com/docker/docker-py/pull/3009
    • Fixes and improvements by @kinday in https://github.com/docker/docker-py/pull/2947
    • deps: test on Python 3.10 by default by @milas in https://github.com/docker/docker-py/pull/3010
    • deps: remove backports.ssl_match_hostname by @milas in https://github.com/docker/docker-py/pull/3011
    • Fix: fix CVE-2020-28243 by @errorcode7 in https://github.com/docker/docker-py/pull/2910
    • Fix for CWE-295: Improper Certificate Validation by @avnes in https://github.com/docker/docker-py/pull/2932
    • Set daemon attribute instead of using setDaemon method that was deprecated in Python 3.10 by @tirkarthi in https://github.com/docker/docker-py/pull/2823
    • Remove unnecessary pass statements by @vilhelmprytz in https://github.com/docker/docker-py/pull/2541
    • ci: run SSH integration tests by @milas in https://github.com/docker/docker-py/pull/3012
    • docs: fix simple typo, containe -> container by @timgates42 in https://github.com/docker/docker-py/pull/3015
    • ci: bump version to 6.0.0-dev by @milas in https://github.com/docker/docker-py/pull/3013
    • deps: upgrade & remove unnecessary dependencies by @milas in https://github.com/docker/docker-py/pull/3014
    • lint: fix line length violation by @milas in https://github.com/docker/docker-py/pull/3017
    • docs: fix markdown rendering by @milas in https://github.com/docker/docker-py/pull/3020
    • Return 12 character short_ids by @benfasoli in https://github.com/docker/docker-py/pull/2862
    • api: preserve cause when re-raising error by @milas in https://github.com/docker/docker-py/pull/3023
    • deps: upgrade websocket-client to latest by @milas in https://github.com/docker/docker-py/pull/3022
    • Add platform parameter for create_container() by @felixfontein in https://github.com/docker/docker-py/pull/2927
    • Support cgroupns option in containers.run/containers.create by @david0 in https://github.com/docker/docker-py/pull/2930
    • Prevent pip cache in Docker image to save image size by @PeterDaveHello in https://github.com/docker/docker-py/pull/2828
    • Update: allow "force" parameter in plugin.disable() by @till in https://github.com/docker/docker-py/pull/2843
    • Fix: Issue #2832 Allowing Rollback Config Arg for Services by @ercildoune in https://github.com/docker/docker-py/pull/2917
    • model: add remove() to Image by @milas in https://github.com/docker/docker-py/pull/3026
    • fix(dockerignore): trim trailing whitespace by @kalioz in https://github.com/docker/docker-py/pull/2733
    • Fix TLS server check example to actually verify by @scop in https://github.com/docker/docker-py/pull/2574
    • Clarify TLSConfig verify parameter docs by @scop in https://github.com/docker/docker-py/pull/2573
    • Add healthcheck doc for container.run by @JanoschDeurer in https://github.com/docker/docker-py/pull/2595
    • Fix image save example by @hristog in https://github.com/docker/docker-py/pull/2570
    • Changed a few words to be more clear by @InnovativeInventor in https://github.com/docker/docker-py/pull/2489
    • docs: fix RollbackConfig/Order values by @milas in https://github.com/docker/docker-py/pull/3027
    • ci: add workflow for releases by @milas in https://github.com/docker/docker-py/pull/3018
    • remove duplicate 'on' in comment by @thomasgassmann in https://github.com/docker/docker-py/pull/2370
    • Add gzip documentation to BuildApiMixin by @SauravMaheshkar in https://github.com/docker/docker-py/pull/2929
    • Use preexec_func always by @q0w in https://github.com/docker/docker-py/pull/2920
    • Remove docker.credentials.utils.find_executable by @n1ngu in https://github.com/docker/docker-py/pull/3028
    • Support global-job and replicated-job modes in Docker Swarm by @kinday in https://github.com/docker/docker-py/pull/3016
    • docs: add changelog for 6.0.0 by @milas in https://github.com/docker/docker-py/pull/3019
    • Add sysctl support for docker swarm services by @Aadenei in https://github.com/docker/docker-py/pull/3029
    • Connect with mac address by @YuviGold in https://github.com/docker/docker-py/pull/2481
    • docs/css: remove hyphens in literals by @jrabbit in https://github.com/docker/docker-py/pull/2452
    • Add swarm support for DataPathPort by @dexteradeus in https://github.com/docker/docker-py/pull/2987
    • test: add additional tests for cgroupns option by @milas in https://github.com/docker/docker-py/pull/3024

    New Contributors

    • @hugovk made their first contribution in https://github.com/docker/docker-py/pull/2898
    • @milas made their first contribution in https://github.com/docker/docker-py/pull/3004
    • @kmaork made their first contribution in https://github.com/docker/docker-py/pull/2954
    • @glicht made their first contribution in https://github.com/docker/docker-py/pull/2993
    • @FrancescoCasalegno made their first contribution in https://github.com/docker/docker-py/pull/2931
    • @kinday made their first contribution in https://github.com/docker/docker-py/pull/2947
    • @errorcode7 made their first contribution in https://github.com/docker/docker-py/pull/2910
    • @avnes made their first contribution in https://github.com/docker/docker-py/pull/2932
    • @tirkarthi made their first contribution in https://github.com/docker/docker-py/pull/2823
    • @vilhelmprytz made their first contribution in https://github.com/docker/docker-py/pull/2541
    • @timgates42 made their first contribution in https://github.com/docker/docker-py/pull/3015
    • @benfasoli made their first contribution in https://github.com/docker/docker-py/pull/2862
    • @felixfontein made their first contribution in https://github.com/docker/docker-py/pull/2927
    • @david0 made their first contribution in https://github.com/docker/docker-py/pull/2930
    • @PeterDaveHello made their first contribution in https://github.com/docker/docker-py/pull/2828
    • @till made their first contribution in https://github.com/docker/docker-py/pull/2843
    • @ercildoune made their first contribution in https://github.com/docker/docker-py/pull/2917
    • @kalioz made their first contribution in https://github.com/docker/docker-py/pull/2733
    • @JanoschDeurer made their first contribution in https://github.com/docker/docker-py/pull/2595
    • @hristog made their first contribution in https://github.com/docker/docker-py/pull/2570
    • @InnovativeInventor made their first contribution in https://github.com/docker/docker-py/pull/2489
    • @thomasgassmann made their first contribution in https://github.com/docker/docker-py/pull/2370
    • @SauravMaheshkar made their first contribution in https://github.com/docker/docker-py/pull/2929
    • @q0w made their first contribution in https://github.com/docker/docker-py/pull/2920
    • @n1ngu made their first contribution in https://github.com/docker/docker-py/pull/3028
    • @Aadenei made their first contribution in https://github.com/docker/docker-py/pull/3029
    • @jrabbit made their first contribution in https://github.com/docker/docker-py/pull/2452
    • @dexteradeus made their first contribution in https://github.com/docker/docker-py/pull/2987

    Full Changelog: https://github.com/docker/docker-py/compare/5.0.3...6.0.0

    Source code(tar.gz)
    Source code(zip)
    docker-6.0.0-py3-none-any.whl(143.78 KB)
    docker-6.0.0.tar.gz(251.54 KB)
  • 6.0.0b2(Aug 11, 2022)

    What's Changed

    • remove duplicate 'on' in comment by @thomasgassmann in https://github.com/docker/docker-py/pull/2370
    • Add gzip documentation to BuildApiMixin by @SauravMaheshkar in https://github.com/docker/docker-py/pull/2929
    • Use preexec_func always by @q0w in https://github.com/docker/docker-py/pull/2920
    • Remove docker.credentials.utils.find_executable by @n1ngu in https://github.com/docker/docker-py/pull/3028
    • Support global-job and replicated-job modes in Docker Swarm by @kinday in https://github.com/docker/docker-py/pull/3016
    • docs: add changelog for 6.0.0 by @milas in https://github.com/docker/docker-py/pull/3019

    New Contributors

    • @thomasgassmann made their first contribution in https://github.com/docker/docker-py/pull/2370
    • @SauravMaheshkar made their first contribution in https://github.com/docker/docker-py/pull/2929
    • @q0w made their first contribution in https://github.com/docker/docker-py/pull/2920
    • @n1ngu made their first contribution in https://github.com/docker/docker-py/pull/3028

    Full Changelog: https://github.com/docker/docker-py/compare/6.0.0b1...6.0.0b2

    Source code(tar.gz)
    Source code(zip)
    docker-6.0.0b2-py3-none-any.whl(143.47 KB)
    docker-6.0.0b2.tar.gz(250.92 KB)
  • 6.0.0b1(Jul 30, 2022)

    What's Changed

    • Update changelog for 5.0.3 by @aiordache in https://github.com/docker/docker-py/pull/2897
    • Add support for Python 3.10 by @hugovk in https://github.com/docker/docker-py/pull/2898
    • Bump paramiko from 2.8.0 to 2.10.1 by @dependabot in https://github.com/docker/docker-py/pull/2974
    • deps: upgrade pywin32 & relax version constraint by @milas in https://github.com/docker/docker-py/pull/3004
    • ci: remove Python 3.6 and add 3.11 pre-releases by @milas in https://github.com/docker/docker-py/pull/3005
    • utils: fix IPv6 address w/ port parsing by @milas in https://github.com/docker/docker-py/pull/3006
    • test_create_with_device_cgroup_rules: don't check devices.list by @thaJeztah in https://github.com/docker/docker-py/pull/2940
    • Fix exception semantics in _raise_for_status by @kmaork in https://github.com/docker/docker-py/pull/2954
    • tls: use auto-negotiated highest version by @milas in https://github.com/docker/docker-py/pull/3007
    • sshcon: remove use of self.ssh_conf by @glicht in https://github.com/docker/docker-py/pull/2993
    • Use packaging instead of distutils for Version by @FrancescoCasalegno in https://github.com/docker/docker-py/pull/2931
    • test: fix a couple flaky/broken tests by @milas in https://github.com/docker/docker-py/pull/3008
    • ci: add flake8 job by @milas in https://github.com/docker/docker-py/pull/3009
    • Fixes and improvements by @kinday in https://github.com/docker/docker-py/pull/2947
    • deps: test on Python 3.10 by default by @milas in https://github.com/docker/docker-py/pull/3010
    • deps: remove backports.ssl_match_hostname by @milas in https://github.com/docker/docker-py/pull/3011
    • Fix: fix CVE-2020-28243 by @errorcode7 in https://github.com/docker/docker-py/pull/2910
    • Fix for CWE-295: Improper Certificate Validation by @avnes in https://github.com/docker/docker-py/pull/2932
    • Set daemon attribute instead of using setDaemon method that was deprecated in Python 3.10 by @tirkarthi in https://github.com/docker/docker-py/pull/2823
    • Remove unnecessary pass statements by @vilhelmprytz in https://github.com/docker/docker-py/pull/2541
    • ci: run SSH integration tests by @milas in https://github.com/docker/docker-py/pull/3012
    • docs: fix simple typo, containe -> container by @timgates42 in https://github.com/docker/docker-py/pull/3015
    • ci: bump version to 6.0.0-dev by @milas in https://github.com/docker/docker-py/pull/3013
    • deps: upgrade & remove unnecessary dependencies by @milas in https://github.com/docker/docker-py/pull/3014
    • lint: fix line length violation by @milas in https://github.com/docker/docker-py/pull/3017
    • docs: fix markdown rendering by @milas in https://github.com/docker/docker-py/pull/3020
    • Return 12 character short_ids by @benfasoli in https://github.com/docker/docker-py/pull/2862
    • api: preserve cause when re-raising error by @milas in https://github.com/docker/docker-py/pull/3023
    • deps: upgrade websocket-client to latest by @milas in https://github.com/docker/docker-py/pull/3022
    • Add platform parameter for create_container() by @felixfontein in https://github.com/docker/docker-py/pull/2927
    • Support cgroupns option in containers.run/containers.create by @david0 in https://github.com/docker/docker-py/pull/2930
    • Prevent pip cache in Docker image to save image size by @PeterDaveHello in https://github.com/docker/docker-py/pull/2828
    • Update: allow "force" parameter in plugin.disable() by @till in https://github.com/docker/docker-py/pull/2843
    • Fix: Issue #2832 Allowing Rollback Config Arg for Services by @ercildoune in https://github.com/docker/docker-py/pull/2917
    • model: add remove() to Image by @milas in https://github.com/docker/docker-py/pull/3026
    • fix(dockerignore): trim trailing whitespace by @kalioz in https://github.com/docker/docker-py/pull/2733
    • Fix TLS server check example to actually verify by @scop in https://github.com/docker/docker-py/pull/2574
    • Clarify TLSConfig verify parameter docs by @scop in https://github.com/docker/docker-py/pull/2573
    • Add healthcheck doc for container.run by @JanoschDeurer in https://github.com/docker/docker-py/pull/2595
    • Fix image save example by @hristog in https://github.com/docker/docker-py/pull/2570
    • Changed a few words to be more clear by @InnovativeInventor in https://github.com/docker/docker-py/pull/2489
    • docs: fix RollbackConfig/Order values by @milas in https://github.com/docker/docker-py/pull/3027
    • ci: add workflow for releases by @milas in https://github.com/docker/docker-py/pull/3018

    New Contributors

    • @hugovk made their first contribution in https://github.com/docker/docker-py/pull/2898
    • @milas made their first contribution in https://github.com/docker/docker-py/pull/3004
    • @kmaork made their first contribution in https://github.com/docker/docker-py/pull/2954
    • @glicht made their first contribution in https://github.com/docker/docker-py/pull/2993
    • @FrancescoCasalegno made their first contribution in https://github.com/docker/docker-py/pull/2931
    • @kinday made their first contribution in https://github.com/docker/docker-py/pull/2947
    • @errorcode7 made their first contribution in https://github.com/docker/docker-py/pull/2910
    • @avnes made their first contribution in https://github.com/docker/docker-py/pull/2932
    • @tirkarthi made their first contribution in https://github.com/docker/docker-py/pull/2823
    • @vilhelmprytz made their first contribution in https://github.com/docker/docker-py/pull/2541
    • @timgates42 made their first contribution in https://github.com/docker/docker-py/pull/3015
    • @benfasoli made their first contribution in https://github.com/docker/docker-py/pull/2862
    • @felixfontein made their first contribution in https://github.com/docker/docker-py/pull/2927
    • @david0 made their first contribution in https://github.com/docker/docker-py/pull/2930
    • @PeterDaveHello made their first contribution in https://github.com/docker/docker-py/pull/2828
    • @till made their first contribution in https://github.com/docker/docker-py/pull/2843
    • @ercildoune made their first contribution in https://github.com/docker/docker-py/pull/2917
    • @kalioz made their first contribution in https://github.com/docker/docker-py/pull/2733
    • @JanoschDeurer made their first contribution in https://github.com/docker/docker-py/pull/2595
    • @hristog made their first contribution in https://github.com/docker/docker-py/pull/2570
    • @InnovativeInventor made their first contribution in https://github.com/docker/docker-py/pull/2489

    Full Changelog: https://github.com/docker/docker-py/compare/5.0.3...6.0.0b1

    Source code(tar.gz)
    Source code(zip)
    docker-6.0.0b1-py3-none-any.whl(143.54 KB)
    docker-6.0.0b1.tar.gz(250.08 KB)
  • 5.0.3(Oct 7, 2021)

  • 5.0.2(Sep 1, 2021)

  • 5.0.1(Aug 31, 2021)

  • 5.0.0(Apr 6, 2021)

    List of PRs / issues for this release

    Breaking changes

    • Remove support for Python 2.7
    • Make Python 3.6 the minimum version supported

    Features

    • Add limit parameter to image search endpoint

    Bugfixes

    • Fix KeyError exception on secret create
    • Verify TLS keys loaded from docker contexts
    • Update PORT_SPEC regex to allow square brackets for IPv6 addresses
    • Fix containers and images documentation examples
    Source code(tar.gz)
    Source code(zip)
  • 4.4.4(Feb 24, 2021)

  • 4.4.3(Feb 18, 2021)

  • 4.4.2(Feb 15, 2021)

  • 4.4.1(Jan 7, 2021)

  • 4.4.0(Nov 23, 2020)

    List of PRs / issues for this release

    Features

    • Add an alternative SSH connection to the paramiko one, based on shelling out to the SSh client. Similar to the behaviour of Docker cli
    • Default image tag to latest on pull

    Bugfixes

    • Fix plugin model upgrade
    • Fix examples URL in ulimits

    Miscellaneous

    • Improve exception messages for server and client errors
    • Bump cryptography from 2.3 to 3.2
    Source code(tar.gz)
    Source code(zip)
  • 4.3.1(Aug 21, 2020)

  • 4.3.0(Aug 10, 2020)

    Changelog

    Features

    • Add DeviceRequest type to expose host resources such as GPUs
    • Add support for DriverOpts in EndpointConfig
    • Disable compression by default when using container.get_archive method

    Miscellaneous

    • Update default API version to v1.39
    • Update test engine version to 19.03.12
    Source code(tar.gz)
    Source code(zip)
  • 4.2.2(Jun 30, 2020)

  • 4.2.1(Jun 2, 2020)

  • 4.2.0(Feb 6, 2020)

    List of PRs / issues for this release

    Bugfixes

    • Fix win32pipe.WaitNamedPipe throw exception in Windows containers
    • Use Hostname, Username, Port and ProxyCommand settings from .ssh/config when on SSH
    • Set host key policy for ssh transport to paramiko.WarningPolicy()
    • Set logging level of paramiko to warn

    Features

    • Add support for docker contexts through docker.ContextAPI
    Source code(tar.gz)
    Source code(zip)
  • 4.1.0(Oct 3, 2019)

    List of PRs / issues for this release

    Bugfixes

    • Correct INDEX_URL logic in build.py _set_auth_headers
    • Fix for empty auth keys in config.json

    Features

    • Add NetworkAttachmentConfig for service create/update

    Miscellaneous

    • Bump pytest to 4.3.1
    • Adjust --platform tests for changes in docker engine
    • Update credentials-helpers to v0.6.3
    Source code(tar.gz)
    Source code(zip)
  • 4.0.2(Jun 20, 2019)

  • 4.0.1(May 19, 2019)

  • 4.0.0(May 19, 2019)

    List of PRs / issues for this release

    Breaking changes

    • Support for Python 3.3 and Python 3.4 has been dropped
    • APIClient.update_service, APIClient.init_swarm, and DockerClient.swarm.init now return a dict from the API's response body
    • In APIClient.build and DockerClient.images.build, the use_config_proxy parameter now defaults to True
    • init_path is no longer a valid parameter for HostConfig

    Features

    • It is now possible to provide SCTP ports for port mappings
    • ContainerSpecs now support the init parameter
    • DockerClient.swarm.init and APIClient.init_swarm now support the data_path_addr parameter
    • APIClient.update_swarm and DockerClient.swarm.update now support the rotate_manager_unlock_key parameter
    • 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

    Bugfixes

    • Fixed PlacementPreference instances to produce a valid API type
    • Fixed a bug where not setting a value for buildargs in build could cause the library to attempt accessing attributes of a None value
    • Fixed a bug where setting the volume_driver parameter in DockerClient.containers.create would result in an error
    • 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
    Source code(tar.gz)
    Source code(zip)
  • 3.7.2(Mar 28, 2019)

  • 3.7.1(Mar 20, 2019)

  • 3.7.0(Jan 10, 2019)

    List of PRs / issues for this release

    Features

    • Added support for multiplexed streams (for attach and exec_start). Learn more at 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.
    • Placement preferences for Swarm services are better validated on the client and documentation has been updated accordingly

    Bugfixes

    • Fixed a bug where credential stores weren't queried for relevant registry credentials with certain variations of the config.json file.
    • DockerClient.swarm.init now returns a boolean value as advertised.
    Source code(tar.gz)
    Source code(zip)
  • 3.6.0(Nov 28, 2018)

    List of PRs / issues for this release

    Features

    • Added support for connecting to the Docker Engine over SSH. Additional dependencies for this feature can be installed with pip install "docker[ssh]"
    • Added support for the named parameter in Image.save, which may be used to ensure the resulting tarball retains the image's name on save.

    Bugfixes

    • Fixed a bug where builds on Windows with a context path using the \\?\ prefix would fail with some relative Dockerfile paths.
    • Fixed an issue where pulls made with the DockerClient would fail when setting the stream parameter to True.

    Miscellaneous

    • The minimum requirement for the requests dependency has been bumped to 2.20.0
    Source code(tar.gz)
    Source code(zip)
  • 3.5.1(Oct 17, 2018)

  • 3.5.0(Aug 10, 2018)

    List of PRs / issues for this release

    Deprecation warning

    • Support for Python 3.3 will be dropped in the 4.0.0 release

    Features

    • Updated dependencies to ensure support for Python 3.7 environments
    • Added support for the uts_mode parameter in HostConfig
    • The UpdateConfig constructor now allows rollback as a valid value for failure_action
    • Added support for rollback_config in APIClient.create_service, APIClient.update_service, DockerClient.services.create and Service.update.

    Bugfixes

    • Credential helpers are now properly leveraged by the build method
    • Fixed a bug that caused placement preferences to be ignored when provided to DockerClient.services.create
    • Fixed a bug that caused a user value of 0 to be ignored in APIClient.create_container and DockerClient.containers.create
    Source code(tar.gz)
    Source code(zip)
  • 3.4.1(Aug 9, 2018)

  • 3.4.0(Jun 18, 2018)

    List of PRs / issues for this release

    Features

    • The APIClient and DockerClient constructors now accept a credstore_env parameter. When set, values in this dictionary are added to the environment when executing the credential store process.

    Bugfixes

    • DockerClient.networks.prune now properly returns the operation's result
    • Fixed a bug that caused custom Dockerfile paths in a subfolder of the build context to be invalidated, preventing these builds from working
    • The plugin_privileges method can now be called for plugins requiring authentication to access
    • Fixed a bug that caused attempts to read a data stream over an unsecured TCP socket to crash on Windows clients
    • Fixed a bug where using the read_only parameter when creating a service using the DockerClient was being ignored
    • Fixed an issue where Service.scale would not properly update the service's mode, causing the operation to fail silently
    Source code(tar.gz)
    Source code(zip)
Owner
Docker
Docker provides a simple and powerful developer experience, workflows and collaboration for creating applications.
Docker
All in one Search Engine Scrapper for used by API or Python Module. It's Free!

All in one Search Engine Scrapper for used by API or Python Module. How to use: Video Documentation Senginta is All in one Search Engine Scrapper. Wit

null 33 Nov 21, 2022
alpaca-trade-api-python is a python library for the Alpaca Commission Free Trading API.

alpaca-trade-api-python is a python library for the Alpaca Commission Free Trading API. It allows rapid trading algo development easily, with support for both REST and streaming data interfaces

Alpaca 1.5k Jan 9, 2023
Beyonic API Python official client library simplified examples using Flask, Django and Fast API.

Beyonic API Python official client library simplified examples using Flask, Django and Fast API.

Harun Mbaabu Mwenda 46 Sep 1, 2022
Python API wrapper library for Convex Value API

convex-value-python Python API wrapper library for Convex Value API. Further Links: Convex Value homepage @ConvexValue on Twitter JB on Twitter Authen

Aaron DeVera 2 May 11, 2022
This an API wrapper library for the OpenSea API written in Python 3.

OpenSea NFT API Python 3 wrapper This an API wrapper library for the OpenSea API written in Python 3. The library provides a simplified interface to f

Attila Tóth 159 Dec 26, 2022
This bot is made with Python and it is running using Docker container and is concentrated on heroku.

This bot is made with Python and it is running using Docker container and is concentrated on heroku.

Movindu Bandara 1 Nov 16, 2021
Aio-binance-library - Async library for connecting to the Binance API on Python

aio-binance-library Async library for connecting to the Binance API on Python Th

GRinvest 10 Nov 21, 2022
可基于【腾讯云函数】/【GitHub Actions】/【Docker】的每日签到脚本(支持多账号使用)签到列表: |爱奇艺|全民K歌|腾讯视频|有道云笔记|网易云音乐|一加手机社区官方论坛|百度贴吧|Bilibili|V2EX|咔叽网单|什么值得买|AcFun|天翼云盘|WPS|吾爱破解|芒果TV|联通营业厅|Fa米家|小米运动|百度搜索资源平台|每日天气预报|每日一句|哔咔漫画|和彩云|智友邦|微博|CSDN|王者营地|

每日签到集合 基于【腾讯云函数】/【GitHub Actions】/【Docker】的每日签到脚本 支持多账号使用 特别声明: 本仓库发布的脚本及其中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

null 87 Nov 12, 2022
Huggingface inference with GPU Docker on AWS

This repository contains code to containerize and deploy a GPU docker on AWS for summarization task. Find a detailed blogpost here Youtube Video Versi

Ramsri Goutham Golla 21 Dec 30, 2022
Docker image for epicseven gvg qq chatbot based on Xunbot

XUN_Langskip XUN 是一个基于 NoneBot 和 酷Q 的功能型QQ机器人,目前提供了音乐点播、音乐推荐、天气查询、RSSHub订阅、使用帮助、识图、识番、搜番、上车、磁力搜索、地震速报、计算、日语词典、翻译、自我检查,权限等级功能,由于是为了完成自己在群里的承诺,一时兴起才做的,所

Xavier Xiong 2 Jun 8, 2022
Quickly visualize docker networks with graphviz.

Docker Network Graph Visualize the relationship between Docker networks and containers as a neat graphviz graph. Example Usage usage: docker-net-graph

Leo Verto 43 Dec 12, 2022
A simple test repo created following docker docs.

docker_sampleRepo A simple test repo created following docker docs. Link to docs: https://docs.docker.com/language/python/develop/ Other links: https:

Suraj Verma 2 Sep 16, 2022
GitHub Actions Docker training

GitHub-Actions-Docker-training Training exercise repository for GitHub Actions using a docker base. This repository should be cloned and used for trai

GitHub School 1 Jan 21, 2022
A website application running in Google app engine, deliver rss news to your kindle. generate mobi using python, multilanguages supported.

Readme of english version refers to Readme_EN.md 简介 这是一个运行在Google App Engine(GAE)上的Kindle个人推送服务应用,生成排版精美的杂志模式mobi/epub格式自动每天推送至您的Kindle或其他邮箱。 此应用目前的主要

null 2.6k Jan 6, 2023
domhttpx is a google search engine dorker with HTTP toolkit built with python, can make it easier for you to find many URLs/IPs at once with fast time.

domhttpx is a google search engine dorker with HTTP toolkit built with python, can make it easier for you to find many URLs/IPs at once with fast time

Naufal Ardhani 59 Dec 4, 2022
A Python interface between Earth Engine and xarray for processing weather and climate data

wxee What is wxee? wxee was built to make processing gridded, mesoscale time series weather and climate data quick and easy by integrating the data ca

Aaron Zuspan 160 Dec 31, 2022
Tesseract Open Source OCR Engine (main repository)

Tesseract OCR About This package contains an OCR engine - libtesseract and a command line program - tesseract. Tesseract 4 adds a new neural net (LSTM

null 48.3k Jan 5, 2023
Fully Dockerized cryptocurrencies Trading Bot, based on Freqtrade engine. Multi instances.

Cryptocurrencies Trading Bot - Freqtrade Manager This automated Trading Bot is based on the amazing Freqtrade one. It allows you to manage many Freqtr

Cédric Dugat 47 Dec 6, 2022