Docker Engine API

Docker Engine API 是 Docker 引擎提供的 RESTful API,允许您通过 HTTP 请求控制 Docker 守护进程。这个 API 是 Docker CLI 和 Docker Desktop 等工具与 Docker 引擎通信的基础。

认证

Docker Engine API 支持多种认证方式,包括:

  • Unix Socket(默认)
  • HTTPS 和 TLS 证书
  • API Token

端点基础 URL

API 端点的基础 URL 格式如下:

http://localhost:2375/v1.43/
unix:///var/run/docker.sock

主要 API 端点

HTTP 方法路径描述
GET/containers/json列出容器
POST/containers/create创建容器
GET/images/json列出镜像
POST/images/create拉取或导入镜像
GET/volumes列出数据卷
GET/networks列出网络

API 示例

列出所有容器

获取所有容器的列表,包括停止的容器。

curl --unix-socket /var/run/docker.sock http://localhost/v1.43/containers/json?all=true

创建并启动容器

创建一个新的容器并启动它。

# 创建容器
curl -X POST --unix-socket /var/run/docker.sock \
  -H "Content-Type: application/json" \
  -d '{"Image": "nginx", "ExposedPorts": {"80/tcp": {}}}' \
  http://localhost/v1.43/containers/create

# 启动容器
curl -X POST --unix-socket /var/run/docker.sock \
  http://localhost/v1.43/containers/{container_id}/start

SDK 支持

官方 SDK

Docker 提供多种语言的官方 SDK:

社区 SDK

社区维护的其他语言 SDK:

  • Java: docker-java
  • PHP: docker-php
  • Ruby: docker-api
  • Rust: shiplift