Status, logs, and commands
Check running services, follow logs, and execute a command in a container.
Check services
mm service status
Status shows running and healthy counts, images, and recent failures when the runtime provides them. The terminal UI and dashboard show the same service information. A missing value means the runtime did not report it.
Read logs
Replace api and app with your service and stack names:
mm service logs api --stack app --tail 200
mm service logs api --stack app --follow
Use Ctrl+C to stop following. --since accepts a timestamp in Unix milliseconds.
With --output json, logs are newline-delimited records rather than one JSON
document. Very long lines and high output rates are limited.
mm redacts configured secret values. If it cannot check a configured secret,
it refuses to open the redacted stream. This cannot protect arbitrary sensitive
data your application writes to logs. Local raw access requires both --raw
and --approve-high-risk.
Run a command
Put the command after --:
mm service exec api --stack app -- ./app --version
mm service exec api --stack app --user 1000:1000 --workdir /workspace -- ./tool check
Arguments are passed directly, without adding a shell. Pipes and redirects
are not interpreted inside the container. If the service has several running
containers, select one with --container. The command's exit code is returned
to your shell.
For an interactive shell on a local target:
mm service shell api --stack app --approve-high-risk
An exec --env value must be a secret reference such as
NAME=provider://location, not a plaintext value. When secret environment
values are supplied, output is suppressed and TTY mode is unavailable.
Restart a service
mm service restart api
This restarts every container of the service on a local target, including containers that have exited. The image, configuration, and volumes stay as deployed: to apply a changed variable or image, deploy again instead.
On Docker Swarm the service's tasks are replaced in the order its update policy sets, and the command returns once Swarm has accepted the update.
To restart one container of a service, select it in the terminal UI.
Runtime and remote support
Docker Compose, Podman Compose, and Docker Swarm support logs and exec. Swarm logs cover every node; Swarm exec runs in a task container on the node mm runs on.
SSH targets use the remote daemon, with the permissions
granted by the host administrator. Remote exec currently supports output and
cancellation, but not --stdin, --tty, or the interactive shell wrapper.
mm service restart does not work on SSH targets yet; deploy again to replace
the containers.
The container runtime itself never connects to a remote engine socket.