REFERENCE

v6.11.0

Containers

Shared container safety knowledge and exact-target OCI lifecycle (`/container`), global config (registry/tmpdir/RAM), named env lists, and volume mounts.

Tools

get_routeros_container_guide

Get RouterOS Container Guide · Risk: read

Read shared version-aware container knowledge: prerequisites, image compatibility, VETH isolation, lifecycle, secrets and troubleshooting. No device access. Use before auditing, deploying or changing containers.

ParameterRequiredDefinition
topicYes{"default":"all","type":"string","enum":["all","prerequisites","images","networking","lifecycle","security","troubleshooting"]}

list_containers

List Containers · Risk: read

Discover container .ids, exact names/tags and lifecycle status/flags. Pull/start/stop are asynchronous; running is not application health. Sensitive env/command/config fields are masked. Use get_routeros_container_guide before changes.

ParameterRequiredDefinition
name_filterNoRouterOS name regex, escaped as a command value {"type":"string"}
tag_filterNo{"type":"string"}
status_filterNoLegacy status regex; newer releases may expose flags instead {"type":"string"}
detailYes{"default":false,"type":"boolean"}

get_container

Get Container Detail · Risk: read

Read one exact, unique container by stable id, name or exact tag; rejects ambiguity. Sensitive env, command and image-config fields are masked. Missing state is unknown, not stopped.

ParameterRequiredDefinition
idNoStable .id from fresh discovery; never a row number {"type":"string","pattern":"^\\*[\\da-fA-F]+$"}
nameNoExact unique container name {"type":"string","minLength":1}
tagNoExact unique image tag, not a regex; prefer id when images are shared {"type":"string","minLength":1}

add_container

Add Container · Risk: write

Create one container after approved prerequisite, image/storage and network review. Requires exactly one image source, a unique name, VETH and dedicated root_dir. No package installation, device-mode, NAT or firewall changes are implicit. Use supported image-save archives; no blanket single-layer restriction. Explicit legacy envlist/mounts aliases are available; inspect target syntax before writing. Returns a pending extraction request, not a healthy deployment; poll before starting.

ParameterRequiredDefinition
interfaceYesPreviously configured VETH {"type":"string","minLength":1}
root_dirYesDedicated root path on verified storage {"type":"string","minLength":1}
envNoSensitive inline environment; verify support on the target {"type":"string"}
envlistsNoCurrent CLI named environment lists {"type":"string"}
envlistNoLegacy singular envlist; exclusive with envlists {"type":"string"}
mountNoInline mount expression supported by the target; not Docker syntax {"type":"string"}
mountlistsNoCurrent CLI named mount lists {"type":"string"}
mountsNoLegacy mounts reference; exclusive with mountlists {"type":"string"}
cmdNoCommand override; may contain secrets {"type":"string"}
entrypointNoEntrypoint override; may contain secrets {"type":"string"}
workdirNo{"type":"string"}
hostnameNo{"type":"string"}
dnsNo{"type":"string"}
userNo{"type":"string"}
stop_signalNo{"type":"string"}
devicesNoDevice passthrough; extra privilege requires explicit review {"type":"string"}
cpu_listNo{"type":"string"}
memory_highNoSoft memory pressure threshold, not a hard cap {"type":"string"}
memory_maxNoHard memory limit only where supported; can terminate processes {"type":"string"}
loggingNo{"type":"boolean"}
start_on_bootNo{"type":"boolean"}
commentNo{"type":"string"}
nameYesUnique name for read-back and ambiguous-write recovery {"type":"string","minLength":1}
remote_imageNoReviewed architecture-compatible image with pinned version/digest {"type":"string","minLength":1}
fileNoUploaded Docker/Podman saved image archive supported by the target {"type":"string","minLength":1}

update_container

Update Container · Risk: write-idempotent

Update exactly one container. Runtime settings require positive fully-stopped evidence; logging, comment and start_on_boot can change without stopping. Named env/mount lists can affect other consumers. Inspect target syntax; no automatic compatibility retries.

ParameterRequiredDefinition
idNoStable .id from fresh discovery; never a row number {"type":"string","pattern":"^\\*[\\da-fA-F]+$"}
nameNoExact unique container name {"type":"string","minLength":1}
tagNoExact unique image tag, not a regex; prefer id when images are shared {"type":"string","minLength":1}
interfaceNoVETH interface(s); verify target syntax and image interface names {"type":"string","minLength":1}
root_dirNoDedicated root path on appropriate storage, not internal flash {"type":"string","minLength":1}
envNoSensitive inline environment; verify support on the target {"type":"string"}
envlistsNoCurrent CLI named environment lists {"type":"string"}
envlistNoLegacy singular envlist; exclusive with envlists {"type":"string"}
mountNoInline mount expression supported by the target; not Docker syntax {"type":"string"}
mountlistsNoCurrent CLI named mount lists {"type":"string"}
mountsNoLegacy mounts reference; exclusive with mountlists {"type":"string"}
cmdNoCommand override; may contain secrets {"type":"string"}
entrypointNoEntrypoint override; may contain secrets {"type":"string"}
workdirNo{"type":"string"}
hostnameNo{"type":"string"}
dnsNo{"type":"string"}
userNo{"type":"string"}
stop_signalNo{"type":"string"}
devicesNoDevice passthrough; extra privilege requires explicit review {"type":"string"}
cpu_listNo{"type":"string"}
memory_highNoSoft memory pressure threshold, not a hard cap {"type":"string"}
memory_maxNoHard memory limit only where supported; can terminate processes {"type":"string"}
loggingNo{"type":"boolean"}
start_on_bootNo{"type":"boolean"}
commentNo{"type":"string"}

start_container

Start Container · Risk: write

start exactly one container by stable id, exact unique name or tag. Start requires positive stopped evidence. Asynchronous: inspect state with bounded polling; accepted does not mean healthy/completed.

ParameterRequiredDefinition
idNoStable .id from fresh discovery; never a row number {"type":"string","pattern":"^\\*[\\da-fA-F]+$"}
nameNoExact unique container name {"type":"string","minLength":1}
tagNoExact unique image tag, not a regex; prefer id when images are shared {"type":"string","minLength":1}

stop_container

Stop Container · Risk: write

stop exactly one container by stable id, exact unique name or tag. Start requires positive stopped evidence. Asynchronous: inspect state with bounded polling; accepted does not mean healthy/completed.

ParameterRequiredDefinition
idNoStable .id from fresh discovery; never a row number {"type":"string","pattern":"^\\*[\\da-fA-F]+$"}
nameNoExact unique container name {"type":"string","minLength":1}
tagNoExact unique image tag, not a regex; prefer id when images are shared {"type":"string","minLength":1}

remove_container

Remove Container · Risk: destructive

Remove exactly one container after a positive stopped check. Back up application data first; do not assume root-dir survives removal. Does not separately delete volumes/layers. Verify absence; never blindly retry an ambiguous write.

ParameterRequiredDefinition
idNoStable .id from fresh discovery; never a row number {"type":"string","pattern":"^\\*[\\da-fA-F]+$"}
nameNoExact unique container name {"type":"string","minLength":1}
tagNoExact unique image tag, not a regex; prefer id when images are shared {"type":"string","minLength":1}

get_container_config

Get Container Global Config · Risk: read

Read registry, extraction storage and memory settings. Registry credentials are masked. Settings are router-wide and may affect every container.

No tool-specific parameters.

set_container_config

Set Container Global Config · Risk: write-idempotent

Update router-wide registry/extraction/storage/memory settings and read back. Use verified storage and HTTPS registry; may affect other workloads. memory_high is a soft threshold. ram_high is a compatibility input alias for the same RouterOS memory-high property.

ParameterRequiredDefinition
registry_urlNo{"type":"string"}
tmpdirNo{"type":"string"}
layer_dirNo{"type":"string"}
memory_highNo{"type":"string"}
ram_highNoDeprecated alias of memory_high; never sent as ram-high {"type":"string"}
usernameNo{"type":"string"}
passwordNo{"type":"string"}

list_container_envs

List Container Env Metadata · Risk: read

List environment .ids, list names and keys WITHOUT retrieving values. Treat every value as potentially secret. Shared lists may have multiple container consumers.

ParameterRequiredDefinition
list_filterNoExact list name {"type":"string"}

add_container_env

Add Container Env Variable · Risk: write

Add a sensitive value to a named env list. Current CLI groups by list; check target syntax. Review all consumers before changing a shared list. Existing running containers may need an approved stop/start; no implicit restart.

ParameterRequiredDefinition
listYes{"type":"string","minLength":1}
keyYes{"type":"string","minLength":1}
valueYes{"type":"string"}

remove_container_env

Remove Container Env Variable · Risk: destructive

Remove one env entry by stable id OR exact list+key. Reject duplicates/unreadable selection. Review containers consuming this list first; no implicit restart.

ParameterRequiredDefinition
idNoStable .id from fresh discovery; never a row number {"type":"string","pattern":"^\\*[\\da-fA-F]+$"}
listNo{"type":"string","minLength":1}
keyNo{"type":"string","minLength":1}

list_container_mounts

List Container Mounts · Risk: read

Read mount metadata. Current CLI groups by list; legacy CLI may use name. No application files are read. A list can contain several mounts.

ParameterRequiredDefinition
list_filterNo{"type":"string","minLength":1}
name_filterNoLegacy exact name filter {"type":"string","minLength":1}

add_container_mount

Add Container Mount · Risk: write

Add a persistent mount using current list= OR legacy name=, never both. Verify target syntax first. Use appropriate storage; a missing source may be populated from the image. Review consumers; this neither formats storage nor restarts containers.

ParameterRequiredDefinition
listNoCurrent CLI mount-list name {"type":"string","minLength":1}
nameNoLegacy CLI mount name; do not use for current list syntax {"type":"string","minLength":1}
srcYes{"type":"string","minLength":1}
dstYes{"type":"string","minLength":1}

remove_container_mount

Remove Container Mount · Risk: destructive

Remove one mount definition by stable id or unique list/name, optionally narrowed by src/dst. Rejects multi-entry lists. Review shared consumers first; no host files are deleted by this tool.

ParameterRequiredDefinition
idNoStable .id from fresh discovery; never a row number {"type":"string","pattern":"^\\*[\\da-fA-F]+$"}
listNo{"type":"string","minLength":1}
nameNo{"type":"string","minLength":1}
srcNo{"type":"string","minLength":1}
dstNo{"type":"string","minLength":1}

On this page