Docker API client for asyncio
Project description
AsyncIO bindings for docker.io
A simple Docker HTTP API wrapper written with asyncio and aiohttp.
Installation
pip install aiodocker
Documentation
Examples
import asyncio
import aiodocker
async def list_things():
docker = aiodocker.Docker()
print('== Images ==')
for image in (await docker.images.list()):
tags = image['RepoTags'][0] if image['RepoTags'] else ''
print(image['Id'], tags)
print('== Containers ==')
for container in (await docker.containers.list()):
print(f" {container._id}")
await docker.close()
async def run_container():
docker = aiodocker.Docker()
print('== Running a hello-world container ==')
container = await docker.containers.create_or_replace(
config={
'Cmd': ['/bin/ash', '-c', 'echo "hello world"'],
'Image': 'alpine:latest',
},
name='testing',
)
await container.start()
logs = await container.log(stdout=True)
print(''.join(logs))
await container.delete(force=True)
await docker.close()
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(list_things())
loop.run_until_complete(run_container())
loop.close()
Changes
0.19.0 (2020-07-07)
Features
Run mypy checks on the repo in the non-strict mode. (#466)
Add container.rename() method. (#458)
Bugfixes
Changed DockerNetwork.delete() to return True if successful (#464)
0.18.9 (2020-07-07)
Bugfixes
Fix closing of the task fetching Docker’s event stream and make it re-openable after closing (#448)
Fix type annotations for pull() and push() methods. (#465)
Misc
#442
0.18.8 (2020-05-04)
Bugfixes
Don’t send null for empty BODY.
0.18.7 (2020-05-04)
Bugfixes
Fix some typing errors
0.18.1 (2020-04-01)
Bugfixes
Improve the errror message when connection is closed by Docker Engine on TCP hijacking. (#424)
0.18.0 (2020-03-25)
Features
Improve the error text message if cannot connect to docker engine. (#411)
Rename websocket() to attach() (#412)
Implement docker exec protocol. (#415)
Implement container commit, pause and unpause functionality. (#418)
Implement auto-versioning of the docker API by default. (#419)
Bugfixes
Fix volume.delete throwing a TypeError. (#389)
0.17.0 (2019-10-15)
Bugfixes
Fixed an issue when the entire tar archive was stored in RAM while building the image. (#352)
0.16.0 (2019-09-23)
Bugfixes
Fix streaming mode for pull, push, build, stats and events. (#344)
0.15.0 (2019-09-22)
Features
Add support for Docker 17.12.1 and 18.03.1 (#164)
Add initial support for nodes. (#181)
Add initial support for networks. (#189)
Add support for docker info ando docker swarm join. (#193)
Add restart method for containers. (#200)
Feature: Add support for registry-auth when you create a service. (#215)
Feature: Add support for docker save and load api methods (#219)
Pass params to docker events. (#223)
Add ability to get a Docker network by name or ID. (#279)
Always close response after processing, make .logs(…, follow=True) async iterator. (#341)
Bugfixes
Fix: Set timeout for docker events to 0 (no timeout) (#115)
Fix: prevents multiple listener tasks to be created automatically (#116)
Fix: if container.start() fails user won’t get the id of the container (#128)
Improve logging when docker socket not available. (#155)
Fix current project version. (#156)
Fix update out of sequence. (#169)
Remove asserts used to check auth with docker registry. (#172)
Fix: fix to parse response of docker load method as a json stream (#222)
Fix: Handle responses with 0 or missing Content-Length (#237)
Fix: don’t remove non-newline whitespace from multiplexed lines (#246)
Fix docker_context.tar error (#253)
Deprecations and Removals
docker.images.get has been renamed to docker.images.inspect, remove support for Docker 17.06 (#164)
Drop Python 3.5 (#338)
Drop deprecated container.copy() (#339)
Misc
#28, #167, #192, #286
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file aiodocker-0.19.0.tar.gz
.
File metadata
- Download URL: aiodocker-0.19.0.tar.gz
- Upload date:
- Size: 482.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 129f0fbe9c89e49bf05d83b0c8207136852ff4759cb447e1b6bd6a0ddeaabc90 |
|
MD5 | 7434814e02110b976748ea1ba80e9e26 |
|
BLAKE2b-256 | 8443607c573212b783b53de528a648000a22cbc713fce0a81a7c26a6737b8b25 |
Provenance
File details
Details for the file aiodocker-0.19.0-py3-none-any.whl
.
File metadata
- Download URL: aiodocker-0.19.0-py3-none-any.whl
- Upload date:
- Size: 34.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdf556706a80636d528b5137e0baeeaa03a885073119ba22707d8f95347b4753 |
|
MD5 | f8c60fa9f64349423394d08158c70b41 |
|
BLAKE2b-256 | a66de52cef8e75102f6408a8f14411c4b8c11b6e886c7e533bef67f070fd0fd8 |