Docker API调用的Demo

44

Docker配置

这一步是可选的,如果你想开发方便调试,则可以通过执行本步骤远程调试开发Docker的代码

  1. 开发2375的TCP不加密端口

# /etc/docker/daemon.json
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
  1. 重启docker

systemctl restart docker

Demo

  1. 安装依赖

pip install docker -i https://mirrors.aliyun.com/pypi/simple
  1. 代码示例

import docker

# 显式指定 TCP 地址(替换为你的服务器 IP)
client = docker.DockerClient(base_url='tcp://IP:2375')

containers = client.containers.list(all=True)

for container in containers:
    print(f"Container ID: {container.id}, Name: {container.name}, Status: {container. Status}")
  1. 输出示例

Container ID: 7d300145c10953870981f1fcaa9f361147a02f14817d62293a80c240d1f0391f, Name: test, Status: running
Container ID: b5c98546e0a33caa542b248ae7902bbb8929931a9d12277b5acb59c2cc84afed, Name: gitea, Status: running
Container ID: 6c674b66a395fde6d81cfc92caf406ad2084bc05d91a2461f14222c996eeae0b, Name: gitea-mysql, Status: running
Container ID: 593b6829d2ca4bafc3669e4a6681078ba875af2f33c2e2279353fe75133399d1, Name: it-tools, Status: running