Ir al contenido

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.

AcciónTítuloTipo
container.commitCommit containerescritura
container.countsContainer status countslectura
container.createCreate containerescritura
container.deleteDelete containerdestructiva
container.editEdit containerdestructiva
container.edit_configGet container edit configlectura
container.execRun a command in a containerescritura
container.generate_composeGenerate compose filelectura
container.getGet containerlectura
container.killKill containerdestructiva
container.listList containerslectura
container.logsGet container logslectura
container.logs_downloadDownload container logslectura
container.pausePause containerescritura
container.processesGet container processeslectura
container.redeployRedeploy containerdestructiva
container.restartRestart containerescritura
container.set_auto_updateSet container auto-updateescritura
container.startStart containerescritura
container.statsGet container resource usagelectura
container.stats_allGet resource usage of all containerslectura
container.stopStop containerescritura
container.unpauseUnpause containerescritura

Commit container

Create an image from a container

  • Tipo: escritura
  • Parámetros obligatorios: containerId
  • Meta-herramienta: arcane_container con "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 status counts

  • Tipo: lectura
  • Parámetros obligatorios: ninguno
  • Meta-herramienta: arcane_container con "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

Create container

  • Tipo: escritura
  • Parámetros obligatorios: image, name
  • Meta-herramienta: arcane_container con "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

Delete container

  • Tipo: destructiva — exige confirm: true
  • Parámetros obligatorios: containerId
  • Meta-herramienta: arcane_container con "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

Edit container

Apply configuration changes and recreate the container

  • Tipo: destructiva — exige confirm: true
  • Parámetros obligatorios: containerId
  • Meta-herramienta: arcane_container con "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

Get container edit config

Editable configuration snapshot backing the container edit form

  • Tipo: lectura
  • Parámetros obligatorios: containerId
  • Meta-herramienta: arcane_container con "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

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_container con "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

Generate compose file

Generate a compose file from existing containers

  • Tipo: lectura
  • Parámetros obligatorios: containerIds
  • Meta-herramienta: arcane_container con "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

Get container

  • Tipo: lectura
  • Parámetros obligatorios: containerId
  • Meta-herramienta: arcane_container con "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

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_container con "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

List containers

Paginated list of containers

  • Tipo: lectura
  • Parámetros obligatorios: ninguno
  • Meta-herramienta: arcane_container con "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

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_container con "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

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_container con "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

Pause container

  • Tipo: escritura
  • Parámetros obligatorios: containerId
  • Meta-herramienta: arcane_container con "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

Get container processes

Snapshot of the processes running inside the container, as reported by Docker

  • Tipo: lectura
  • Parámetros obligatorios: containerId
  • Meta-herramienta: arcane_container con "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

Redeploy container

Pull latest image and recreate container

  • Tipo: destructiva — exige confirm: true
  • Parámetros obligatorios: containerId
  • Meta-herramienta: arcane_container con "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

Restart container

  • Tipo: escritura
  • Parámetros obligatorios: containerId
  • Meta-herramienta: arcane_container con "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

Set container auto-update

Enable or disable auto-update for a specific container

  • Tipo: escritura
  • Parámetros obligatorios: containerId, enabled
  • Meta-herramienta: arcane_container con "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

Start container

  • Tipo: escritura
  • Parámetros obligatorios: containerId
  • Meta-herramienta: arcane_container con "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

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_container con "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

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_container con "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

Stop container

  • Tipo: escritura
  • Parámetros obligatorios: containerId
  • Meta-herramienta: arcane_container con "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

Unpause container

  • Tipo: escritura
  • Parámetros obligatorios: containerId
  • Meta-herramienta: arcane_container con "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