container
El dominio container tiene 23 acciones. En la superficie meta se alcanzan todas a través de arcane_container; en la individual, cada una es una herramienta propia; en la dinámica se ejecutan con arcane_execute_action y el ID canónico.
Resumen
Sección titulada «Resumen»| Acción | Título | Tipo |
|---|---|---|
container.commit | Commit container | escritura |
container.counts | Container status counts | lectura |
container.create | Create container | escritura |
container.delete | Delete container | destructiva |
container.edit | Edit container | destructiva |
container.edit_config | Get container edit config | lectura |
container.exec | Run a command in a container | escritura |
container.generate_compose | Generate compose file | lectura |
container.get | Get container | lectura |
container.kill | Kill container | destructiva |
container.list | List containers | lectura |
container.logs | Get container logs | lectura |
container.logs_download | Download container logs | lectura |
container.pause | Pause container | escritura |
container.processes | Get container processes | lectura |
container.redeploy | Redeploy container | destructiva |
container.restart | Restart container | escritura |
container.set_auto_update | Set container auto-update | escritura |
container.start | Start container | escritura |
container.stats | Get container resource usage | lectura |
container.stats_all | Get resource usage of all containers | lectura |
container.stop | Stop container | escritura |
container.unpause | Unpause container | escritura |
Acciones
Sección titulada «Acciones»container.commit
Sección titulada «container.commit»Commit container
Create an image from a container
- Tipo: escritura
- Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "commit" - Herramienta individual:
arcane_container_commit - Ruta de Arcane:
POST /api/environments/{id}/containers/{containerId}/commit - ID de operación:
commit-container - Uso: Saves the container’s current filesystem as a new image. repository and tag name it (without repository the image is untagged), changes applies Dockerfile instructions such as “ENV KEY=value”, comment and author are metadata. The container is paused during the commit unless noPause=true. Needs the images:commit permission. Returns the new image id for image.get.
- Acciones relacionadas:
container.list,image.get,image.tag,image.list
container.counts
Sección titulada «container.counts»Container status counts
- Tipo: lectura
- Parámetros obligatorios: ninguno
- Meta-herramienta:
arcane_containercon"action": "counts" - Herramienta individual:
arcane_container_counts - Ruta de Arcane:
GET /api/environments/{id}/containers/counts - ID de operación:
container-status-counts - Uso: Just runningContainers, stoppedContainers (every non-running state, paused and created included) and totalContainers, without listing. Arcane’s internal and hidden containers count only with includeInternal/includeHidden. container.list returns the same counts alongside the rows.
- Acciones relacionadas:
container.list,container.stats_all
container.create
Sección titulada «container.create»Create container
- Tipo: escritura
- Parámetros obligatorios:
image,name - Meta-herramienta:
arcane_containercon"action": "create" - Herramienta individual:
arcane_container_create - Ruta de Arcane:
POST /api/environments/{id}/containers - ID de operación:
create-container - Uso: Creates a standalone container from image (pulled first if missing locally, with credentials for a private registry) and starts it right away. name and image are required. Common inputs: cmd, env, labels, hostname, ports (container port to host port, TCP only: {“80”: “8080”} publishes container port 80 on host port 8080), volumes (“src:/dst” binds), networks (names from network.list), restartPolicy, memory, cpus, or the Docker-style hostConfig and networkingConfig. If the start fails the new container is removed again. Returns id, name, image and status. For multi-container apps prefer a Compose project (project.create).
- Acciones relacionadas:
container.get,container.logs,image.pull,network.list,project.create
container.delete
Sección titulada «container.delete»Delete container
- Tipo: destructiva — exige
confirm: true - Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "delete" - Herramienta individual:
arcane_container_delete - Ruta de Arcane:
DELETE /api/environments/{id}/containers/{containerId} - ID de operación:
delete-container - Uso: Removes the container and its writable layer, irreversibly. containerId (ID or name) from container.list. A running container fails unless force=true. volumes=true also removes its anonymous volumes and tries to remove the named volumes it mounts (a volume still used elsewhere is kept), and bind-mounted host paths are never touched. For containers of a Compose project prefer project.down.
- Acciones relacionadas:
container.list,container.stop,container.commit,volume.list,project.down
container.edit
Sección titulada «container.edit»Edit container
Apply configuration changes and recreate the container
- Tipo: destructiva — exige
confirm: true - Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "edit" - Herramienta individual:
arcane_container_edit - Ruta de Arcane:
POST /api/environments/{id}/containers/{containerId}/edit - ID de operación:
edit-container - Uso: Recreates the container (new ID, writable layer lost) with changed settings. containerId from container.list, current values from container.edit_config. Every field sent replaces the old value whole (labels is the full map, environment the full list, hostConfig.binds the full list, networkingConfig.endpointsConfig the full set of networks, and clearHealthcheck=true removes the healthcheck) and omitted fields are kept. A new image is pulled only if missing locally. Refused for Compose-managed containers (edit the project instead) and for Arcane’s own container. Returns the new container’s details with its id.
- Acciones relacionadas:
container.edit_config,container.get,container.redeploy,project.update
container.edit_config
Sección titulada «container.edit_config»Get container edit config
Editable configuration snapshot backing the container edit form
- Tipo: lectura
- Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "edit_config" - Herramienta individual:
arcane_container_edit_config - Ruta de Arcane:
GET /api/environments/{id}/containers/{containerId}/edit-config - ID de operación:
get-container-edit-config - Uso: Read before container.edit: returns the editable settings (name, image, command, entrypoint, environment, labels, user, workingDir, healthcheck, hostConfig, networks) in the shape container.edit accepts, except that networks goes back as networkingConfig.endpointsConfig. isCompose or editDisabled true means container.edit will refuse this container. containerId from container.list.
- Acciones relacionadas:
container.edit,container.get
container.exec
Sección titulada «container.exec»Run a command in a container
Run one shell command inside a running container through Arcane’s container terminal and return its output and exit code
- Tipo: escritura
- Parámetros obligatorios:
containerId,command - Meta-herramienta:
arcane_containercon"action": "exec" - Herramienta individual:
arcane_container_exec - Ruta de Arcane:
GET /api/environments/{id}/ws/containers/{containerId}/terminal(WebSocket) - ID de operación:
ws-container-terminal - Uso: containerId (ID or name) from container.list. The container must be running and contain the shell (default /bin/sh, change with shell), so distroless images fail. Non-interactive: returns output, exitCode and completed. At the timeout (seconds, default 30, max 120) the output may be partial and exitCode missing. Requires the containers:exec permission.
- Acciones relacionadas:
container.list,container.processes,container.logs
container.generate_compose
Sección titulada «container.generate_compose»Generate compose file
Generate a compose file from existing containers
- Tipo: lectura
- Parámetros obligatorios:
containerIds - Meta-herramienta:
arcane_containercon"action": "generate_compose" - Herramienta individual:
arcane_container_generate_compose - Ruta de Arcane:
POST /api/environments/{id}/containers/generate-compose - ID de operación:
generate-compose - Uso: Writes a docker-compose.yml describing existing containers. containerIds (at least one, from container.list) is required. Returns the YAML in composeContent and changes nothing: pass it to project.create to manage those services as a Compose project.
- Acciones relacionadas:
container.list,project.create
container.get
Sección titulada «container.get»Get container
- Tipo: lectura
- Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "get" - Herramienta individual:
arcane_container_get - Ruta de Arcane:
GET /api/environments/{id}/containers/{containerId} - ID de operación:
get-container - Uso: containerId (ID or name) from container.list. Returns inspect details: state (status, running, startedAt, health), config (cmd, env, healthcheck), hostConfig, mounts, networkSettings, ports, labels, composeInfo (projectName, serviceName) for Compose containers, updateInfo, autoUpdateEnabled and redeployDisabled (true for Arcane’s own container). Use it to verify the result of start, stop, edit or redeploy.
- Acciones relacionadas:
container.list,container.logs,container.stats,container.processes,container.edit_config
container.kill
Sección titulada «container.kill»Kill container
Send a signal to the container’s main process (default SIGKILL)
- Tipo: destructiva — exige
confirm: true - Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "kill" - Herramienta individual:
arcane_container_kill - Ruta de Arcane:
POST /api/environments/{id}/containers/{containerId}/kill - ID de operación:
kill-container - Uso: Sends signal (default SIGKILL, or e.g. SIGTERM or SIGHUP to make a process reload) to the container’s main process. With SIGKILL the container exits at once without a graceful shutdown. The container is not removed: container.start brings it back, container.delete removes it. Prefer container.stop for a normal shutdown.
- Acciones relacionadas:
container.stop,container.start,container.get
container.list
Sección titulada «container.list»List containers
Paginated list of containers
- Tipo: lectura
- Parámetros obligatorios: ninguno
- Meta-herramienta:
arcane_containercon"action": "list" - Herramienta individual:
arcane_container_list - Ruta de Arcane:
GET /api/environments/{id}/containers - ID de operación:
list-containers - Uso: The starting point for every containerId: returns a page of containers (id, names, image, state, status, ports, labels, updateInfo, autoUpdateEnabled), stopped ones included, plus running/stopped/total counts. search matches name, image, state or status. Filter with label (key or key=value), standalone=true (not Compose or Swarm), updates (has_update, up_to_date, error, unknown). Sort by name, image, state, status, ports, created, cpuUsage or memoryUsage. groupBy=project groups by Compose project. Arcane’s internal and hidden containers are left out unless includeInternal/includeHidden. Paginate with start and limit (default 20).
- Acciones relacionadas:
container.get,container.counts,container.stats_all,port.list
container.logs
Sección titulada «container.logs»Get container logs
Return a container’s recent log lines (stdout and stderr), optionally listening for new lines for a few seconds
- Tipo: lectura
- Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "logs" - Herramienta individual:
arcane_container_logs - Ruta de Arcane:
GET /api/environments/{id}/ws/containers/{containerId}/logs(WebSocket) - ID de operación:
ws-container-logs - Uso: containerId (ID or name) from container.list. Returns the last tail lines (default 100, or ‘all’) in lines. Narrow with since, add timestamps, or set follow to keep listening for up to seconds. Needs the containers:logs permission. Use container.logs_download for the complete timestamped log in one piece.
- Acciones relacionadas:
container.list,container.logs_download,container.get,container.exec
container.logs_download
Sección titulada «container.logs_download»Download container logs
Download every log line Docker retains for the container as a text file
- Tipo: lectura
- Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "logs_download" - Herramienta individual:
arcane_container_logs_download - Ruta de Arcane:
GET /api/environments/{id}/containers/{containerId}/logs/download - ID de operación:
download-container-logs - Desde: Arcane v2.12.0
- Uso: Returns the container’s complete log (every retained line, stdout and stderr, timestamped) as text in content. Output beyond ARCANE_MCP_MAX_DOWNLOAD_BYTES (default 4 MiB) is cut off with truncated=true, and an empty log returns no content. containerId from container.list, needs containers:logs. For the recent tail or to follow new lines use container.logs.
- Acciones relacionadas:
container.logs,container.list
container.pause
Sección titulada «container.pause»Pause container
- Tipo: escritura
- Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "pause" - Herramienta individual:
arcane_container_pause - Ruta de Arcane:
POST /api/environments/{id}/containers/{containerId}/pause - ID de operación:
pause-container - Uso: Freezes every process of a running container (state becomes paused) without stopping it. Memory and network endpoints are kept. containerId from container.list. Resume with container.unpause.
- Acciones relacionadas:
container.unpause,container.stop,container.get
container.processes
Sección titulada «container.processes»Get container processes
Snapshot of the processes running inside the container, as reported by Docker
- Tipo: lectura
- Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "processes" - Herramienta individual:
arcane_container_processes - Ruta de Arcane:
GET /api/environments/{id}/containers/{containerId}/processes - ID de operación:
get-container-processes - Desde: Arcane v2.14.0
- Uso: Docker top of a running container (a stopped one fails): titles names the columns (typically PID, USER, %CPU, %MEM, ELAPSED, CMD) and processes holds one row per process. containerId from container.list.
- Acciones relacionadas:
container.stats,container.exec,container.get
container.redeploy
Sección titulada «container.redeploy»Redeploy container
Pull latest image and recreate container
- Tipo: destructiva — exige
confirm: true - Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "redeploy" - Herramienta individual:
arcane_container_redeploy - Ruta de Arcane:
POST /api/environments/{id}/containers/{containerId}/redeploy - ID de operación:
redeploy-container - Uso: Pulls the container’s image tag again and recreates the container under the same name with its current configuration (new ID, writable layer lost). A container of a Compose project registered in Arcane is redeployed through that project’s service instead. containerId from container.list. Refused for Arcane’s own container (redeployDisabled in container.get). Returns the new container’s details, including its id and activityId.
- Acciones relacionadas:
container.get,container.edit,updater.container_update,project.redeploy
container.restart
Sección titulada «container.restart»Restart container
- Tipo: escritura
- Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "restart" - Herramienta individual:
arcane_container_restart - Ruta de Arcane:
POST /api/environments/{id}/containers/{containerId}/restart - ID de operación:
restart-container - Uso: Stops and starts the container in place (same ID and configuration) and also starts a stopped one. containerId from container.list. Configuration or image changes need container.edit or container.redeploy instead. On a Podman host, a container run by a quadlet is restarted through its systemd unit: it comes back as a new container (new ID) and its anonymous volumes are lost, but named volumes stay.
- Acciones relacionadas:
container.stop,container.start,container.redeploy,container.logs
container.set_auto_update
Sección titulada «container.set_auto_update»Set container auto-update
Enable or disable auto-update for a specific container
- Tipo: escritura
- Parámetros obligatorios:
containerId,enabled - Meta-herramienta:
arcane_containercon"action": "set_auto_update" - Herramienta individual:
arcane_container_set_auto_update - Ruta de Arcane:
PUT /api/environments/{id}/containers/{containerId}/auto-update - ID de operación:
set-container-auto-update - Uso: enabled=false adds the container’s name to the autoUpdateExcludedContainers setting so the scheduled auto-update (and updater.run with automatic=true) skips it, and enabled=true removes it. Manual updater.run calls (since Arcane v2.17.1) and updater.container_update update it anyway. Keyed by name, so it survives recreation under the same name. A container whose labels disable updates stays excluded from automatic runs. containerId from container.list. Verify with autoUpdateEnabled in container.get.
- Acciones relacionadas:
container.get,settings.get,updater.run,updater.container_update
container.start
Sección titulada «container.start»Start container
- Tipo: escritura
- Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "start" - Herramienta individual:
arcane_container_start - Ruta de Arcane:
POST /api/environments/{id}/containers/{containerId}/start - ID de operación:
start-container - Uso: Starts a created or exited container. containerId (ID or name) from container.list. A paused container needs container.unpause instead. Runs synchronously and is recorded as an activity (activityId in the result). Check state with container.get.
- Acciones relacionadas:
container.list,container.get,container.unpause,container.stop,system.containers_start_stopped
container.stats
Sección titulada «container.stats»Get container resource usage
Sample a container’s live CPU, memory, network and block I/O statistics
- Tipo: lectura
- Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "stats" - Herramienta individual:
arcane_container_stats - Ruta de Arcane:
GET /api/environments/{id}/ws/containers/{containerId}/stats(WebSocket) - ID de operación:
ws-container-stats - Uso: containerId (ID or name) from container.list, meant for a running container. Each sample is Docker’s full stats payload (cpu_stats, memory_stats, networks, blkio_stats) plus Arcane’s computed history sample. Raise samples (and seconds) for a trend. Use container.stats_all for CPU and memory of many containers at once.
- Acciones relacionadas:
container.list,container.stats_all,container.processes
container.stats_all
Sección titulada «container.stats_all»Get resource usage of all containers
Sample live CPU and memory statistics of every running container in the environment, or of the containers named in containerIds
- Tipo: lectura
- Parámetros obligatorios: ninguno
- Meta-herramienta:
arcane_containercon"action": "stats_all" - Herramienta individual:
arcane_container_stats_all - Ruta de Arcane:
GET /api/environments/{id}/ws/containers/stats(WebSocket) - ID de operación:
ws-containers-stats - Desde: Arcane v2.16.1
- Uso: Each batch’s samples object maps a running container’s full ID (as in container.list) to cpuPercent, memoryUsageBytes and memoryLimitBytes. Stopped or unknown containers are omitted, and containerIds must be full IDs, not names. Batches arrive about two seconds apart. Use container.stats for the full Docker stats of one container.
- Acciones relacionadas:
container.list,container.stats,container.counts
container.stop
Sección titulada «container.stop»Stop container
- Tipo: escritura
- Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "stop" - Herramienta individual:
arcane_container_stop - Ruta de Arcane:
POST /api/environments/{id}/containers/{containerId}/stop - ID de operación:
stop-container - Uso: Graceful stop: SIGTERM, then SIGKILL after a fixed 30-second grace period (no timeout parameter). containerId from container.list. The call waits for the stop and is tracked as a container_stop activity, which activity.cancel can abort. Use container.kill when the process ignores SIGTERM, container.pause to freeze it without stopping. On a Podman host, a container run by a quadlet is stopped through its systemd unit instead, which removes the container and its anonymous volumes (named volumes stay). podman_quadlet.lifecycle start brings it back.
- Acciones relacionadas:
container.start,container.kill,container.pause,activity.list,activity.cancel
container.unpause
Sección titulada «container.unpause»Unpause container
- Tipo: escritura
- Parámetros obligatorios:
containerId - Meta-herramienta:
arcane_containercon"action": "unpause" - Herramienta individual:
arcane_container_unpause - Ruta de Arcane:
POST /api/environments/{id}/containers/{containerId}/unpause - ID de operación:
unpause-container - Uso: Resumes a container frozen by container.pause (state returns to running). containerId from container.list. A stopped container needs container.start instead.
- Acciones relacionadas:
container.pause,container.start,container.get