Read Docker build and runtime logs
Decide which Docker log stream to use, isolate a container, and trace a failure from its first relevant line.
Open Dashboard → Services → your Docker service → Apps, select the app, then choose Build Logs or Logs.
Build Logs
Use Build Logs when a repository or image deployment does not become runnable. The stream can include repository checkout, dependency installation, Dockerfile instructions, Compose builds, image pulls, and deployment preparation.
Read from the first failed step. A later exit code or build cancellation usually reports the result of an earlier missing file, invalid command, unavailable package, authentication failure, incompatible architecture, or exhausted resource.
Changing runtime environment values will not repair a Dockerfile parse error. Conversely, changing the Dockerfile will not repair a missing secret used only when the container starts.
Runtime Logs
Use Logs when a container starts, exits, restarts, rejects traffic, or behaves incorrectly. These entries are the output emitted by the application inside each container.
For a multi-container app:
- Start with All containers to see the event sequence.
- Note the container label beside the first relevant failure.
- Select that container to isolate its history.
- Check dependent containers immediately before the failure.
Failed and exited containers remain selectable while the node can still see them. No log output can simply mean that the process has not written anything; it does not prove the process is healthy.
Controls and levels
Load 50, 100, or 500 recent lines. Live stream follows new entries, Resume stream restarts a paused stream, and Auto-scroll follows the bottom until you scroll away. When the node is offline, live streaming is unavailable.
Some entries contain CRITICAL, ERROR, WARNING, NOTICE, INFO, or DEBUG. Those labels come from the application. Unstructured applications may output plain text without a level.
Trace common failures
- Build never completes: inspect Build Logs, then check plan CPU, RAM, and storage under Usage.
- Container exits immediately: inspect Runtime Logs for the startup command, missing variable, dependency, or configuration error.
- 502 on a domain: confirm the process is running and listening on
0.0.0.0at the target port; inspect logs while making one request. - One Compose service fails: isolate that container and then inspect the dependency it was trying to reach.
- No new lines: confirm live streaming is enabled, the correct container is selected, and the node is online; manually refresh history.
Do not share environment secrets or customer data found in output. For shared terminology, see Understand AppLaunch service logs.
