docker_inspect_container
Retrieve detailed configuration and status information for a specific Docker container to monitor and manage containerized applications.
Instructions
Get detailed information about a Docker container
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Container ID or name |
Implementation Reference
- src/tools/docker/containers.ts:27-62 (handler)The inspectContainer function fetches detailed information about a Docker container using the Docker SDK.
export async function inspectContainer(args: Record<string, unknown>): Promise<string> { const docker = getDockerClient(); const id = args.id as string || args.name as string; if (!id) throw new Error("Container ID or name is required"); const container = docker.getContainer(id); const info = await container.inspect(); const lines = [ `Name: ${info.Name}`, `ID: ${info.Id.substring(0, 12)}`, `Image: ${info.Config.Image}`, `Status: ${info.State.Status}`, `Running: ${info.State.Running}`, `PID: ${info.State.Pid}`, `Started: ${info.State.StartedAt}`, `IP: ${info.NetworkSettings.IPAddress || "N/A"}`, "", `Command: ${(info.Config.Cmd || []).join(" ")}`, ]; if (info.HostConfig.Memory) { lines.push(`Memory: ${Math.round(info.HostConfig.Memory / 1024 / 1024)}Mi`); } const ports = info.NetworkSettings.Ports || {}; if (Object.keys(ports).length > 0) { lines.push("", "Ports:"); for (const [containerPort, bindings] of Object.entries(ports)) { const bindStr = (bindings || []).map((b: { HostIp: string; HostPort: string }) => `${b.HostIp}:${b.HostPort}`).join(", "); lines.push(` ${containerPort} → ${bindStr || "none"}`); } } return lines.join("\n"); } - src/tools/docker/index.ts:18-28 (registration)The definition of the docker_inspect_container tool, including its name, description, and input schema.
{ name: "docker_inspect_container", description: "Get detailed information about a Docker container", inputSchema: { type: "object" as const, properties: { id: { type: "string", description: "Container ID or name" }, }, required: ["id"], }, }, - src/tools/docker/index.ts:122-122 (handler)The switch case in handleDockerTool that delegates the tool call to the inspectContainer implementation.
case "docker_inspect_container": return inspectContainer(a);