使用asyncio和aiohttp编写的简单Docker HTTP API包装器。
项目描述
使用asyncio和aiohttp编写的简单Docker HTTP API包装器。
安装
pip install aiodocker
开发
创建一个虚拟环境(可以使用 python -m venv,pyenv 或您喜欢的工具),并使用 ci 和 dev 可选依赖集以可编辑模式安装。
pip install -U pip
pip install -e '.[ci,dev]' # in zsh, you need to escape brackets
pre-commit install
运行测试
# Run all tests
make test
# Run individual tests
python -m pytest tests/test_images.py
构建包
注意:通常您不需要自己运行此步骤。
pip install -U build
python -m build --sdist --wheel
文档
示例
import asyncio
import aiodocker
async def list_things(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}")
async def run_container(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)
async def main():
docker = aiodocker.Docker()
await list_things(docker)
await run_container(docker)
await docker.close()
if __name__ == "__main__":
asyncio.run(main())
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
aiodocker-0.23.0.tar.gz (135.2 kB 查看哈希值)
构建分布
aiodocker-0.23.0-py3-none-any.whl (34.7 kB 查看哈希值)
关闭
aiodocker-0.23.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 45ede291063c7d1c24e78a766013c25e85b354a3bdcca68fe2bca64348e4dee2 |
|
MD5 | 867a945c7806c879cee5e19605b99a02 |
|
BLAKE2b-256 | 78cbc0fa4944604a182db4c062fea84fbdd77d2e508932dd0052ec784040ac13 |
关闭
aiodocker-0.23.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8c7ff2fc9e557898ae77bc9c1af8916f269285f230aedf1abbb81436054baed4 |
|
MD5 | 2500ce7ca2e721cf7bd812f486d4bb63 |
|
BLAKE2b-256 | f9dc7a34f2a50fef8a3e7e02618b8fec516fa29a91d2fe264ab49514f9affc82 |