Use it
In TypeScript
import { Client, LocalTransport, PROCEDURE_REGISTRY } from "@procedures/client";
import "@procedures/docker"; // registers its procedures
const client = new Client(new LocalTransport({ registry: PROCEDURE_REGISTRY }));
const result = await client.exec(["docker","run"], { image: "<image>" });
console.log(JSON.stringify(result));From the command line
$ mark docker run --image <string>
As data, in a program
{ "$proc": ["docker", "run"], "input": { "image": "<image>" } }JSON Schemas
{
"input": {
"type": "object",
"properties": {
"image": {
"type": "string",
"description": "Docker image to run"
},
"name": {
"description": "Container name",
"type": "string"
},
"ports": {
"description": "Port mappings (e.g., [\"8080:80\", \"3000:3000\"])",
"type": "array",
"items": {
"type": "string"
}
},
"volumes": {
"description": "Volume mappings (e.g., [\"/host:/container\"])",
"type": "array",
"items": {
"type": "string"
}
},
"env": {
"description": "Environment variables",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"detach": {
"description": "Run in detached mode",
"type": "boolean"
},
"rm": {
"description": "Automatically remove container when it exits",
"type": "boolean"
},
"command": {
"description": "Command to run in container",
"type": "string"
},
"cwd": {
"description": "Working directory",
"type": "string"
},
"timeout": {
"description": "Timeout in milliseconds",
"type": "number"
}
},
"required": [
"image"
]
},
"output": {
"type": "object",
"properties": {
"exitCode": {
"type": "number",
"description": "The exit code of docker (0 is success)"
},
"stdout": {
"type": "string",
"description": "The standard output of docker"
},
"stderr": {
"type": "string",
"description": "The standard error of docker, or the error message when docker did not start"
},
"success": {
"type": "boolean",
"description": "True when the exit code is 0"
},
"duration": {
"type": "number",
"description": "The time of the command, in milliseconds"
}
},
"required": [
"exitCode",
"stdout",
"stderr",
"success",
"duration"
],
"additionalProperties": {}
}
}