Help us shape the future of Go! Take the 2026 Go Developer Survey

apple-container-compose

module
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 9, 2026 License: Apache-2.0

README

Apple Container Compose

Run Compose projects on macOS with Apple's container runtime.

Release Go Reference

Apple Container Compose (acc) runs your Compose services using Apple's Container. Define your application in YAML, build its images, and manage its services from the terminal. No Docker daemon is required.

By default, ACC provides DNS-based service discovery through a dedicated CoreDNS container for each Compose project. Services on a shared network resolve each other by name and network-scoped alias like docker networks, without patching /etc/hosts. This also allows DNS tools such as dig and nslookup to work inside containers.

Read more about DNS behavior and configuration.

ACC provides a command-line tool and Go packages for container management and Compose orchestration.

Features

  • Familiar commands: start, build, inspect logs, and tear down Compose projects.
  • Local builds: build missing service images from their Dockerfiles.
  • Service discovery: resolve service names and aliases through managed CoreDNS.
  • Storage and networking: project networks, bind mounts, volumes, and tmpfs.
  • Readable output: colored service logs and build output, with a --no-color option.

Install

Requires Apple silicon and macOS 26 (Tahoe) or later. Install from the Homebrew tap, then start Apple's container service:

brew install kunalvirwal/tap/acc
container system start

See Apple's runtime setup guide for prerequisites. Binary archives and checksums are available on the releases page.

Quick start

Save this as compose.yaml:

name: test

services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"

Start the project in the background:

acc up -d

Open localhost:8080, then follow the service logs:

acc logs -f web

Press Ctrl+C to leave the log stream. Remove the project when you're done:

acc down

Project status

ACC is under active development and supports a subset of Compose, currently with one container per service. See Compose compatibility before adapting an existing project.

Documentation

  • Examples - for pricise infromation on what compose features are supported see relevant testing examples.
  • CLI usage - commands, configuration, builds, and cleanup.
  • Compose compatibility - supported features and limits.
  • Go packages - use the runtime and Compose APIs in your applications.
  • Service discovery - the ACC CoreDNS plugin and its behavior.

Contributing

Issues and pull requests are welcome. Read the contributing guide for setup and testing, or open an issue to report a bug or suggest a feature.

License

Apache License 2.0.

Directories

Path Synopsis
cmd
acc command
internal
cli
Package cli implements the acc command-line interface.
Package cli implements the acc command-line interface.
coredns
Package coredns manages ACC's per-project CoreDNS infrastructure container.
Package coredns manages ACC's per-project CoreDNS infrastructure container.
state
Package state safely maintains the global registry consumed by ACC's CoreDNS plugin.
Package state safely maintains the global registry consumed by ACC's CoreDNS plugin.
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL