Docker API Honeypot
This configuration was created by Akamai's hunt team, at the following link the original version:
https://github.com/akamai/Akamai-Hunt/blob/main/HoneypotConf/docker_api_honeypot_conf.yaml
apiVersion: "v1"
protocol: "http"
address: ":2375"
description: "Docker Remote API honeypot (Docker/24.0.7 on linux, API 1.43, Linode host)"
commands:
- regex: "^/_ping/?$"
headers:
- "Content-Type: text/plain; charset=utf-8"
- "Server: Docker/24.0.7 (linux)"
- "Api-Version: 1.43"
- "Docker-Experimental: false"
- "Ostype: linux"
statusCode: 200
handler: "OK"
- regex: "^/v1\\.(\\d{2})/_ping/?$"
headers:
- "Content-Type: text/plain; charset=utf-8"
- "Server: Docker/24.0.7 (linux)"
- "Api-Version: 1.43"
- "Docker-Experimental: false"
- "Ostype: linux"
statusCode: 200
handler: "OK"
- regex: "^/v1\\.(\\d{2})/version/?$"
headers:
- "Content-Type: application/json"
- "Server: Docker/24.0.7 (linux)"
- "Api-Version: 1.43"
- "Docker-Experimental: false"
- "Ostype: linux"
statusCode: 200
handler: |
{
"Platform": {"Name": "Docker Engine"},
"Components": [
{
"Name": "Engine",
"Version": "24.0.7",
"Details": {
"ApiVersion": "1.43",
"MinAPIVersion": "1.12",
"GitCommit": "b3e4c28f4dc06a09c1fa7a1ce3d2a8f1e9d741f6",
"GoVersion": "go1.21.4",
"Os": "linux",
"Arch": "amd64",
"BuildTime": "2024-11-12T10:30:00.000000000Z"
}
}
],
"Version": "24.0.7",
"ApiVersion": "1.43",
"MinAPIVersion": "1.12",
"GitCommit": "b3e4c28f4dc06a09c1fa7a1ce3d2a8f1e9d741f6",
"GoVersion": "go1.21.4",
"Os": "linux",
"Arch": "amd64",
"KernelVersion": "5.15.0-106-generic",
"Experimental": false
}
- regex: "^/version/?$"
headers:
- "Content-Type: application/json"
- "Server: Docker/24.0.7 (linux)"
- "Api-Version: 1.43"
- "Docker-Experimental: false"
- "Ostype: linux"
statusCode: 200
handler: |
{
"Platform": {"Name": "Docker Engine"},
"Components": [
{
"Name": "Engine",
"Version": "24.0.7",
"Details": {
"ApiVersion": "1.43",
"MinAPIVersion": "1.12",
"GitCommit": "b3e4c28f4dc06a09c1fa7a1ce3d2a8f1e9d741f6",
"GoVersion": "go1.21.4",
"Os": "linux",
"Arch": "amd64",
"BuildTime": "2024-11-12T10:30:00.000000000Z"
}
}
],
"Version": "24.0.7",
"ApiVersion": "1.43",
"MinAPIVersion": "1.12",
"GitCommit": "b3e4c28f4dc06a09c1fa7a1ce3d2a8f1e9d741f6",
"GoVersion": "go1.21.4",
"Os": "linux",
"Arch": "amd64",
"KernelVersion": "5.15.0-106-generic",
"Experimental": false
}
- regex: "^/info/?$"
headers:
- "Content-Type: application/json"
- "Server: Docker/24.0.7 (linux)"
- "Api-Version: 1.43"
statusCode: 200
handler: |
{
"ID": "e3b7a4a7a7a74a84b86f0e2c4b0a9b1b8d37b0e241d75b7d1f0e2cd27b3c1e55",
"Containers": 6,
"ContainersRunning": 6,
"ContainersPaused": 0,
"ContainersStopped": 0,
"Images": 9,
"Driver": "overlay2",
"DriverStatus": [["Backing Filesystem","extfs"],["Supports d_type","true"],["Native Overlay Diff","true"]],
"Plugins": {"Volume": ["local"], "Network": ["bridge","host","null"], "Log": ["json-file","local"]},
"MemoryLimit": true,
"SwapLimit": true,
"KernelMemory": true,
"CPUSet": true,
"CPUShares": true,
"IPv4Forwarding": true,
"BridgeNfIptables": true,
"BridgeNfIp6tables": true,
"OOMKillDisable": true,
"Warnings": null,
"OperatingSystem": "Ubuntu 22.04.4 LTS",
"OSVersion": "22.04",
"OSType": "linux",
"Architecture": "x86_64",
"NCPU": 4,
"MemTotal": 8178892800,
"DockerRootDir": "/var/lib/docker",
"HttpProxy": "",
"HttpsProxy": "",
"NoProxy": "",
"Name": "li-docker-01",
"ServerVersion": "24.0.7",
"DefaultRuntime": "runc",
"Runtimes": {"runc": {"path": "runc"}},
"Swarm": {"LocalNodeState": "inactive"},
"LiveRestoreEnabled": false
}
- regex: "^/images/json(?:\\?.*)?/?$"
headers:
- "Content-Type: application/json"
- "Server: Docker/24.0.7 (linux)"
statusCode: 200
handler: |
[
{"Id":"sha256:0f9c7dd2b51b46a3c8b6f8a0d1e24f6f8e8dd7131f4bc779e0c5b5b2a84e83ce","RepoTags":["nginx:1.21.6"],"Size":141943872,"VirtualSize":141943872,"Created":1691577600},
{"Id":"sha256:6ab2f8c0a2e124e5f1d6a91d5bf0cf8d3c3227e1f88e4a0e6b0f0b9f7f6f2b41","RepoTags":["redis:5.0.14"],"Size":104857600,"VirtualSize":104857600,"Created":1691664000},
{"Id":"sha256:d1b4a12a99e5c3c2f65b2d9b49d84eb0f8a91bf2841b0a2c2b9ed5fe0c6a6a31","RepoTags":["postgres:11.12"],"Size":223346688,"VirtualSize":223346688,"Created":1691750400},
{"Id":"sha256:3c94a0a7d7e41d9c1a03d2a46b7f54b2e3b1a6a1a7465f0abf0dd0b91a2ddee0","RepoTags":["prom/prometheus:v2.26.0"],"Size":176160768,"VirtualSize":176160768,"Created":1691836800},
{"Id":"sha256:94c5a86f7b82b0e3e09f1ec9f8d0a7b1c5e6d237b4a9e1d9a1f0d3b2a6a7b1e9","RepoTags":["grafana/grafana:8.3.0"],"Size":278921216,"VirtualSize":278921216,"Created":1691923200},
{"Id":"sha256:2a5ec9c0e75a4e8e9f8a17b6c5d1a7b0e93e1af2d6c6e2a9f8a3c2d4b5e6f7a8","RepoTags":["tiangolo/uvicorn-gunicorn-fastapi:python3.11"],"Size":312475648,"VirtualSize":312475648,"Created":1692009600},
{"Id":"sha256:7a8b9c0d1e2f3a4b5c6d7e8f091a2b3c4d5e6f70a1b2c3d4e5f6a7b8c9d0e1f2","RepoTags":["alpine:3.16"],"Size":56623104,"VirtualSize":56623104,"Created":1692096000},
{"Id":"sha256:bb51a5b13adf41a1bf67b1a2c0e5b7cd0a59ff1c99d57a1d7e64e4f5a47a2dd3","RepoTags":["busybox:1.36"],"Size":22282240,"VirtualSize":22282240,"Created":1692182400},
{"Id":"sha256:2f8e405fd7a54d27a8f9a2e3c5d7b9e0a1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6","RepoTags":["coredns/coredns:1.11.3"],"Size":46661632,"VirtualSize":46661632,"Created":1692268800}
]
- regex: "^/containers/json(?:\\?.*)?/?$"
headers:
- "Content-Type: application/json"
- "Server: Docker/24.0.7 (linux)"
statusCode: 200
handler: |
[
{"Id":"a0c2c51c1f7a4b20a9cc1a0b4a9b06f3040c14b496f0f3c21bd7e0f3ae90f7b6","Names":["/web-frontend"],"Image":"nginx:1.21.6","ImageID":"sha256:0f9c7dd2b51b46a3c8b6f8a0d1e24f6f8e8dd7131f4bc779e0c5b5b2a84e83ce","Command":"nginx -g 'daemon off;'","Created":1723276934,"State":"running","Status":"Up 3 days","Ports":[{"PrivatePort":80,"Type":"tcp"}],"Labels":{"app":"web-frontend"},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.2"}}}},
{"Id":"1df1a9b7501f4d56a4eb30b6a8e58d3ce3d0883a2df1432593a5b9eec8db4231","Names":["/api-service"],"Image":"tiangolo/uvicorn-gunicorn-fastapi:python3.11","ImageID":"sha256:2a5ec9c0e75a4e8e9f8a17b6c5d1a7b0e93e1af2d6c6e2a9f8a3c2d4b5e6f7a8","Command":"/start-reload.sh","Created":1723277131,"State":"running","Status":"Up 3 days","Ports":[{"PrivatePort":8000,"Type":"tcp"}],"Labels":{"app":"api-service"},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.3"}}}},
{"Id":"c32e6d4f2fa54c6fb4e0a4d85f8c7f8f30bfb2b5e1c8412398e2b8a8fb2c07d1","Names":["/redis"],"Image":"redis:5.0.14","ImageID":"sha256:6ab2f8c0a2e124e5f1d6a91d5bf0cf8d3c3227e1f88e4a0e6b0f0b9f7f6f2b41","Command":"redis-server","Created":1723277160,"State":"running","Status":"Up 3 days","Ports":[{"PrivatePort":6379,"Type":"tcp"}],"Labels":{"app":"redis"},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.4"}}}},
{"Id":"7a8e6c6c541b4e40b9a0c6f9a3c9a0024a6a1f6e24f44b63b39f2bbf31f7ea5e","Names":["/postgres"],"Image":"postgres:11.12","ImageID":"sha256:d1b4a12a99e5c3c2f65b2d9b49d84eb0f8a91bf2841b0a2c2b9ed5fe0c6a6a31","Command":"postgres","Created":1723277264,"State":"running","Status":"Up 3 days","Ports":[{"PrivatePort":5432,"Type":"tcp"}],"Labels":{"app":"postgres"},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.5"}}}},
{"Id":"8c7b2d98c8bc4d27a74d0a9e4f4f7159d2d03b0c8e6b4a7e8c1d2a4f0c3e7b65","Names":["/prometheus"],"Image":"prom/prometheus:v2.26.0","ImageID":"sha256:3c94a0a7d7e41d9c1a03d2a46b7f54b2e3b1a6a1a7465f0abf0dd0b91a2ddee0","Command":"/bin/prometheus","Created":1723363561,"State":"running","Status":"Up 2 days","Ports":[{"PrivatePort":9090,"Type":"tcp"}],"Labels":{"app":"prometheus"},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.6"}}}},
{"Id":"b2e9a8e2a4a841f1a1d4a2b6f8c6c1d79a6e2b7d4f1e4a6b9c2d1f5e8a3b7c2d","Names":["/grafana"],"Image":"grafana/grafana:8.3.0","ImageID":"sha256:94c5a86f7b82b0e3e09f1ec9f8d0a7b1c5e6d237b4a9e1d9a1f0d3b2a6a7b1e9","Command":"/run.sh","Created":1723364014,"State":"running","Status":"Up 2 days","Ports":[{"PrivatePort":3000,"Type":"tcp"}],"Labels":{"app":"grafana"},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.7"}}}}
]
- regex: "^/images/[^/]+/json/?$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"Id":"sha256:0f9c7dd2b51b46a3c8b6f8a0d1e24f6f8e8dd7131f4bc779e0c5b5b2a84e83ce","RepoTags":["nginx:1.21.6"]}
- regex: "^/networks/?$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
[
{"Name":"bridge","Id":"f1a7b0d9a21e4ff3a9c2b4e3a51d7b4fe9e2d4a1c0b7f9034db9c5ea3c1f2a8e","Driver":"bridge","Scope":"local"},
{"Name":"host","Id":"6d1e4b0a9f8c4c2bb0c7a9d4e1f3b2c08ca7e2b1a3f94d0ecb5a2e4c7a9b0d3f","Driver":"host","Scope":"local"},
{"Name":"none","Id":"2ce7a9d10b3f4a6c8e9d0a1b2c3d4e5f60718293a4b5c6d7e8f9012a3b4c5d6e","Driver":"null","Scope":"local"}
]
- regex: "^/volumes/?$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"Volumes":[
{"CreatedAt":"2025-08-10T08:00:21Z","Driver":"local","Labels":null,"Mountpoint":"/var/lib/docker/volumes/pgdata/_data","Name":"pgdata","Scope":"local"},
{"CreatedAt":"2025-08-11T09:15:09Z","Driver":"local","Labels":null,"Mountpoint":"/var/lib/docker/volumes/prom-data/_data","Name":"prom-data","Scope":"local"}
],"Warnings":null}
- regex: "^/system/df/?$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"LayersSize":652738560,"Images":[{"Id":"sha256:0f9c7dd2b51b46a3c8b6f8a0d1e24f6f8e8dd7131f4bc779e0c5b5b2a84e83ce","Size":141943872},{"Id":"sha256:d1b4a12a99e5c3c2f65b2d9b49d84eb0f8a91bf2841b0a2c2b9ed5fe0c6a6a31","Size":223346688}],"Containers":[{"Id":"a0c2c51c1f7a4b20a9cc1a0b4a9b06f3040c14b496f0f3c21bd7e0f3ae90f7b6","SizeRootFs":73400320}]}
- regex: "^/events(?:\\?.*)?/?$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"status":"start","id":"a0c2c51c1f7a4b20a9cc1a0b4a9b06f3040c14b496f0f3c21bd7e0f3ae90f7b6","from":"nginx:1.21.6","Type":"container","time":1723815011}
{"status":"health_status: healthy","id":"1df1a9b7501f4d56a4eb30b6a8e58d3ce3d0883a2df1432593a5b9eec8db4231","from":"tiangolo/uvicorn-gunicorn-fastapi:python3.11","Type":"container","time":1723815059}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/images/json$"
headers:
- "Content-Type: application/json"
- "Server: Docker/24.0.7 (linux)"
statusCode: 200
handler: |
[
{"Id":"sha256:0f9c7dd2b51b46a3c8b6f8a0d1e24f6f8e8dd7131f4bc779e0c5b5b2a84e83ce","RepoTags":["nginx:1.21.6"],"Size":141943872,"VirtualSize":141943872,"Created":1691577600},
{"Id":"sha256:6ab2f8c0a2e124e5f1d6a91d5bf0cf8d3c3227e1f88e4a0e6b0f0b9f7f6f2b41","RepoTags":["redis:5.0.14"],"Size":104857600,"VirtualSize":104857600,"Created":1691664000},
{"Id":"sha256:d1b4a12a99e5c3c2f65b2d9b49d84eb0f8a91bf2841b0a2c2b9ed5fe0c6a6a31","RepoTags":["postgres:11.12"],"Size":223346688,"VirtualSize":223346688,"Created":1691750400},
{"Id":"sha256:3c94a0a7d7e41d9c1a03d2a46b7f54b2e3b1a6a1a7465f0abf0dd0b91a2ddee0","RepoTags":["prom/prometheus:v2.26.0"],"Size":176160768,"VirtualSize":176160768,"Created":1691836800},
{"Id":"sha256:94c5a86f7b82b0e3e09f1ec9f8d0a7b1c5e6d237b4a9e1d9a1f0d3b2a6a7b1e9","RepoTags":["grafana/grafana:8.3.0"],"Size":278921216,"VirtualSize":278921216,"Created":1691923200},
{"Id":"sha256:2a5ec9c0e75a4e8e9f8a17b6c5d1a7b0e93e1af2d6c6e2a9f8a3c2d4b5e6f7a8","RepoTags":["tiangolo/uvicorn-gunicorn-fastapi:python3.11"],"Size":312475648,"VirtualSize":312475648,"Created":1692009600},
{"Id":"sha256:7a8b9c0d1e2f3a4b5c6d7e8f091a2b3c4d5e6f70a1b2c3d4e5f6a7b8c9d0e1f2","RepoTags":["alpine:3.16"],"Size":56623104,"VirtualSize":56623104,"Created":1692096000},
{"Id":"sha256:bb51a5b13adf41a1bf67b1a2c0e5b7cd0a59ff1c99d57a1d7e64e4f5a47a2dd3","RepoTags":["busybox:1.36"],"Size":22282240,"VirtualSize":22282240,"Created":1692182400},
{"Id":"sha256:2f8e405fd7a54d27a8f9a2e3c5d7b9e0a1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6","RepoTags":["coredns/coredns:1.11.3"],"Size":46661632,"VirtualSize":46661632,"Created":1692268800}
]
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/json.*$"
headers:
- "Content-Type: application/json"
- "Server: Docker/24.0.7 (linux)"
statusCode: 200
handler: |
[
{"Id":"a0c2c51c1f7a4b20a9cc1a0b4a9b06f3040c14b496f0f3c21bd7e0f3ae90f7b6","Names":["/web-frontend"],"Image":"nginx:1.21.6","ImageID":"sha256:0f9c7dd2b51b46a3c8b6f8a0d1e24f6f8e8dd7131f4bc779e0c5b5b2a84e83ce","Command":"nginx -g 'daemon off;'","Created":1723276934,"State":"running","Status":"Up 3 days","Ports":[{"PrivatePort":80,"Type":"tcp"}],"Labels":{"app":"web-frontend"},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.2"}}}},
{"Id":"1df1a9b7501f4d56a4eb30b6a8e58d3ce3d0883a2df1432593a5b9eec8db4231","Names":["/api-service"],"Image":"tiangolo/uvicorn-gunicorn-fastapi:python3.11","ImageID":"sha256:2a5ec9c0e75a4e8e9f8a17b6c5d1a7b0e93e1af2d6c6e2a9f8a3c2d4b5e6f7a8","Command":"/start-reload.sh","Created":1723277131,"State":"running","Status":"Up 3 days","Ports":[{"PrivatePort":8000,"Type":"tcp"}],"Labels":{"app":"api-service"},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.3"}}}},
{"Id":"c32e6d4f2fa54c6fb4e0a4d85f8c7f8f30bfb2b5e1c8412398e2b8a8fb2c07d1","Names":["/redis"],"Image":"redis:5.0.14","ImageID":"sha256:6ab2f8c0a2e124e5f1d6a91d5bf0cf8d3c3227e1f88e4a0e6b0f0b9f7f6f2b41","Command":"redis-server","Created":1723277160,"State":"running","Status":"Up 3 days","Ports":[{"PrivatePort":6379,"Type":"tcp"}],"Labels":{"app":"redis"},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.4"}}}}
]
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/a0c2c51c1f7a4b20a9cc1a0b4a9b06f3040c14b496f0f3c21bd7e0f3ae90f7b6/json$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"Id":"a0c2c51c1f7a4b20a9cc1a0b4a9b06f3040c14b496f0f3c21bd7e0f3ae90f7b6","Name":"/web-frontend","Path":"nginx","Args":["-g","daemon off;"],"Image":"nginx:1.21.6","ImageID":"sha256:0f9c7dd2b51b46a3c8b6f8a0d1e24f6f8e8dd7131f4bc779e0c5b5b2a84e83ce","Created":"2025-08-10T08:02:14Z","State":{"Status":"running","Running":true,"StartedAt":"2025-08-10T08:02:25Z","Pid":2157},"Config":{"Hostname":"a0c2c51c1f7a","Env":["NGINX_VERSION=1.21.6"],"ExposedPorts":{"80/tcp":{}}},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.2"}}}}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/1df1a9b7501f4d56a4eb30b6a8e58d3ce3d0883a2df1432593a5b9eec8db4231/json$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"Id":"1df1a9b7501f4d56a4eb30b6a8e58d3ce3d0883a2df1432593a5b9eec8db4231","Name":"/api-service","Image":"tiangolo/uvicorn-gunicorn-fastapi:python3.11","ImageID":"sha256:2a5ec9c0e75a4e8e9f8a17b6c5d1a7b0e93e1af2d6c6e2a9f8a3c2d4b5e6f7a8","Created":"2025-08-10T08:05:31Z","State":{"Status":"running","Running":true,"StartedAt":"2025-08-10T08:05:45Z","Pid":2298},"Path":"/start-reload.sh","Args":[],"Config":{"Env":["PORT=8000"],"ExposedPorts":{"8000/tcp":{}}},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.3"}}}}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/c32e6d4f2fa54c6fb4e0a4d85f8c7f8f30bfb2b5e1c8412398e2b8a8fb2c07d1/json$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"Id":"c32e6d4f2fa54c6fb4e0a4d85f8c7f8f30bfb2b5e1c8412398e2b8a8fb2c07d1","Name":"/redis","Image":"redis:5.0.14","ImageID":"sha256:6ab2f8c0a2e124e5f1d6a91d5bf0cf8d3c3227e1f88e4a0e6b0f0b9f7f6f2b41","Created":"2025-08-10T08:06:00Z","State":{"Status":"running","Running":true,"StartedAt":"2025-08-10T08:06:12Z","Pid":2332},"Path":"redis-server","Args":[],"Config":{"Env":["REDIS_VERSION=5.0.14"],"ExposedPorts":{"6379/tcp":{}}},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.4"}}}}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/7a8e6c6c541b4e40b9a0c6f9a3c9a0024a6a1f6e24f44b63b39f2bbf31f7ea5e/json$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"Id":"7a8e6c6c541b4e40b9a0c6f9a3c9a0024a6a1f6e24f44b63b39f2bbf31f7ea5e","Name":"/postgres","Image":"postgres:11.12","ImageID":"sha256:d1b4a12a99e5c3c2f65b2d9b49d84eb0f8a91bf2841b0a2c2b9ed5fe0c6a6a31","Created":"2025-08-10T08:07:44Z","State":{"Status":"running","Running":true,"StartedAt":"2025-08-10T08:07:59Z","Pid":2409},"Path":"postgres","Args":[],"Config":{"Env":["POSTGRES_VERSION=11.12"],"ExposedPorts":{"5432/tcp":{}}},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.5"}}}}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/8c7b2d98c8bc4d27a74d0a9e4f4f7159d2d03b0c8e6b4a7e8c1d2a4f0c3e7b65/json$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"Id":"8c7b2d98c8bc4d27a74d0a9e4f4f7159d2d03b0c8e6b4a7e8c1d2a4f0c3e7b65","Name":"/prometheus","Image":"prom/prometheus:v2.26.0","ImageID":"sha256:3c94a0a7d7e41d9c1a03d2a46b7f54b2e3b1a6a1a7465f0abf0dd0b91a2ddee0","Created":"2025-08-11T09:12:41Z","State":{"Status":"running","Running":true,"StartedAt":"2025-08-11T09:12:58Z","Pid":3127},"Path":"/bin/prometheus","Args":[],"Config":{"ExposedPorts":{"9090/tcp":{}}},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.6"}}}}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/b2e9a8e2a4a841f1a1d4a2b6f8c6c1d79a6e2b7d4f1e4a6b9c2d1f5e8a3b7c2d/json$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"Id":"b2e9a8e2a4a841f1a1d4a2b6f8c6c1d79a6e2b7d4f1e4a6b9c2d1f5e8a3b7c2d","Name":"/grafana","Image":"grafana/grafana:8.3.0","ImageID":"sha256:94c5a86f7b82b0e3e09f1ec9f8d0a7b1c5e6d237b4a9e1d9a1f0d3b2a6a7b1e9","Created":"2025-08-11T09:20:14Z","State":{"Status":"running","Running":true,"StartedAt":"2025-08-11T09:20:28Z","Pid":3196},"Path":"/run.sh","Args":[],"Config":{"ExposedPorts":{"3000/tcp":{}}},"HostConfig":{"NetworkMode":"bridge"},"NetworkSettings":{"Networks":{"bridge":{"IPAddress":"172.17.0.7"}}}}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/a0c2c51c1f7a4b20a9cc1a0b4a9b06f3040c14b496f0f3c21bd7e0f3ae90f7b6/logs.*$"
headers: ["Content-Type: text/plain; charset=utf-8"]
statusCode: 200
handler: |
2025-08-15T08:10:07Z 172.17.0.1 - - "GET / HTTP/1.1" 200 612 "-" "curl/8.4.0"
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/1df1a9b7501f4d56a4eb30b6a8e58d3ce3d0883a2df1432593a5b9eec8db4231/logs.*$"
headers: ["Content-Type: text/plain; charset=utf-8"]
statusCode: 200
handler: |
INFO uvicorn.access: 172.17.0.1 - "GET /health HTTP/1.1" 200
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/c32e6d4f2fa54c6fb4e0a4d85f8c7f8f30bfb2b5e1c8412398e2b8a8fb2c07d1/logs.*$"
headers: ["Content-Type: text/plain; charset=utf-8"]
statusCode: 200
handler: |
* Ready to accept connections (Redis 5.0.14) on 0.0.0.0:6379
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/7a8e6c6c541b4e40b9a0c6f9a3c9a0024a6a1f6e24f44b63b39f2bbf31f7ea5e/logs.*$"
headers: ["Content-Type: text/plain; charset=utf-8"]
statusCode: 200
handler: |
database system is ready to accept connections (PostgreSQL 11.12)
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/8c7b2d98c8bc4d27a74d0a9e4f4f7159d2d03b0c8e6b4a7e8c1d2a4f0c3e7b65/logs.*$"
headers: ["Content-Type: text/plain; charset=utf-8"]
statusCode: 200
handler: |
level=info ts=2025-08-15T08:10:11Z caller=head.go:916 msg="WAL segment loaded" bytes=16777216
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/b2e9a8e2a4a841f1a1d4a2b6f8c6c1d79a6e2b7d4f1e4a6b9c2d1f5e8a3b7c2d/logs.*$"
headers: ["Content-Type: text/plain; charset=utf-8"]
statusCode: 200
handler: |
logger=server t=2025-08-15T08:10:11Z level=info msg="HTTP Server Listen" address=0.0.0.0:3000 protocol=http
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/[^/]+/top.*$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"Titles":["PID","USER","TIME","COMMAND"],"Processes":[["2157","root","00:00:12","nginx: master process nginx -g daemon off;"]]}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/[^/]+/stats.*$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"read":"2025-08-15T08:10:11Z","pids_stats":{"current":6},"cpu_stats":{"cpu_usage":{"total_usage":123456789}},"memory_stats":{"usage":73400320,"limit":8178892800},"networks":{"eth0":{"rx_bytes":10240,"tx_bytes":20480}}}
# ---------- Exec (create/json/start) ----------
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/[^/]+/exec$"
headers: ["Content-Type: application/json"]
statusCode: 201
handler: |
{"Id":"e8b3f7b41e0b4b1fa41e3c6d7c0f9a24d93ab2e2f41d4ce78b6c93f0a1b7404f"}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/exec/[^/]+/json$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"ID":"e8b3f7b41e0b4b1fa41e3c6d7c0f9a24d93ab2e2f41d4ce78b6c93f0a1b7404f","Running":false,"ExitCode":0,"OpenStdin":false,"OpenStderr":true,"OpenStdout":true}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/exec/[^/]+/start$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"ok":true}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/create.*$"
headers: ["Content-Type: application/json"]
statusCode: 201
handler: |
{"Id":"6c8c4fba3f1d40d789b51f1a34d92f0cb3e19b7ef1a44d38a2a0f0f51c4a0c8d","Warnings":null}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/[^/]+/(start|stop|restart|kill)$"
headers: ["Content-Type: application/json"]
statusCode: 204
handler: ""
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/containers/[^/]+$"
headers: ["Content-Type: application/json"]
statusCode: 204
handler: ""
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/images/[^/]+/json$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"Id":"sha256:0f9c7dd2b51b46a3c8b6f8a0d1e24f6f8e8dd7131f4bc779e0c5b5b2a84e83ce","RepoTags":["nginx:1.21.6"]}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/networks$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
[
{"Name":"bridge","Id":"f1a7b0d9a21e4ff3a9c2b4e3a51d7b4fe9e2d4a1c0b7f9034db9c5ea3c1f2a8e","Driver":"bridge","Scope":"local"},
{"Name":"host","Id":"6d1e4b0a9f8c4c2bb0c7a9d4e1f3b2c08ca7e2b1a3f94d0ecb5a2e4c7a9b0d3f","Driver":"host","Scope":"local"},
{"Name":"none","Id":"2ce7a9d10b3f4a6c8e9d0a1b2c3d4e5f60718293a4b5c6d7e8f9012a3b4c5d6e","Driver":"null","Scope":"local"}
]
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/volumes$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"Volumes":[
{"CreatedAt":"2025-08-10T08:00:21Z","Driver":"local","Labels":null,"Mountpoint":"/var/lib/docker/volumes/pgdata/_data","Name":"pgdata","Scope":"local"},
{"CreatedAt":"2025-08-11T09:15:09Z","Driver":"local","Labels":null,"Mountpoint":"/var/lib/docker/volumes/prom-data/_data","Name":"prom-data","Scope":"local"}
],"Warnings":null}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/system/df$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"LayersSize":652738560,"Images":[{"Id":"sha256:0f9c7dd2b51b46a3c8b6f8a0d1e24f6f8e8dd7131f4bc779e0c5b5b2a84e83ce","Size":141943872},{"Id":"sha256:d1b4a12a99e5c3c2f65b2d9b49d84eb0f8a91bf2841b0a2c2b9ed5fe0c6a6a31","Size":223346688}],"Containers":[{"Id":"a0c2c51c1f7a4b20a9cc1a0b4a9b06f3040c14b496f0f3c21bd7e0f3ae90f7b6","SizeRootFs":73400320}]}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/(containers|images)/(prune)$"
headers: ["Content-Type: application/json"]
statusCode: 200
handler: |
{"SpaceReclaimed":0}
- regex: "^/(v1\\.(4[0-9]|3[0-9]))?/swarm/leave$"
headers:
- "Content-Type: application/json"
statusCode: 200
handler: |
{"message":"Node left the swarm."}
- regex: "^/v1\\..*$"
headers: ["Content-Type: text/plain; charset=utf-8"]
statusCode: 404
handler: "page not found"
- regex: "^/$"
headers: ["Content-Type: text/plain; charset=utf-8"]
statusCode: 404
handler: "page not found"
- regex: "^.*$"
headers: ["Content-Type: text/plain; charset=utf-8"]
statusCode: 404
handler: "page not found"Last updated