Skip to content

ContainerDeck 0.3.0 — Stacks with service discovery

Choose a tag to compare

@dmondello dmondello released this 13 Jun 07:53

The piece that makes Stacks actually usable: containers in a stack now reach each other by name.

Service discovery (verified working)

apple/container 1.0.0 has no inter-container name resolution — not on the default network, not on a custom one (container system dns create only covers container→host). ContainerDeck closes the gap itself:

  • After every service is running, it collects their IPs and injects <ip> <service> lines into each container's /etc/hosts.
  • Services become reachable by their plain name — db, http://superset:8088 — exactly as the compose file expects.
  • No admin password, works on macOS 15. Tested end-to-end: two containers reach each other by bare service name.

Because container IDs are global, service names must be unique across stacks running at the same time.

Notes

  • This corrects the approach that was prototyped for 0.2.x: the DNS-domain route was tested and does not work on 1.0.0, so it was replaced with the /etc/hosts method that does.
  • Compose subset, ${VAR:-default} interpolation, depends_on ordering and build support unchanged from 0.2.0.

Installation

macOS 15+ on Apple Silicon. The DMG is not notarized: after dragging the app to Applications, allow it once via System Settings → Privacy & Security → "Open Anyway".