Frequently Asked Questions
Everything you need to know before migrating from Docker to Apple Container.
Compatibility
Can Apple Container fully replace Docker Desktop?
For Apple Silicon Macs running macOS 26+, yes — with the compose workaround documented on this site. If you need x86 containers or cross-platform CI builds, keep Docker Desktop around for those specific use cases. Many teams run both side by side during migration.
Can I run x86 containers?
No. Apple Container is Apple Silicon (ARM64) only. Docker images with --platform linux/amd64 won't run. If your stack depends on x86-only images, you'll need Docker Desktop for those.
Will my existing Docker images work?
Yes — for ARM64 images. Apple Container is OCI-compatible and pulls directly from Docker Hub, GHCR, and any OCI registry. Most popular images (nginx, postgres, node, python, redis) have ARM64 tags.
Does it work on Intel Macs?
No. Apple Container uses macOS Virtualization.framework, which is Apple Silicon only (M1/M2/M3/M4). Intel Macs are not supported and will not be.
Performance
Is Apple Container faster than Docker Desktop?
Container startup: noticeably faster (<1s vs 3-5s). I/O: better for bind-mounted volumes (native APFS, no Linux VM layer). Network throughput: comparable. Memory: lower idle footprint — containers only consume RAM when running, no persistent VM overhead.
What's the performance overhead vs bare metal?
Minimal. Each container runs in a lightweight VM on Virtualization.framework — Apple's hypervisor is thin. CPU-bound workloads run at near-native speed. I/O-bound workloads see a 5-10% overhead from the virtualization layer (similar to Docker Desktop on macOS).
Docker Compose & Orchestration
When will Apple officially support compose?
No official timeline. The docker/compose repo has an open issue (#12934) requesting support, and Apple Container's team is aware of the demand (GitHub issues #55, #186). Until then, Container Machines + shell scripts is the working solution.
What happens to my docker-compose.yml files?
Keep them. They're still your source of truth. The conversion is manual (for now), but the structure maps cleanly: services become containers within a machine group, volumes become bind mounts or named volumes, and networking uses DNS instead of service-name resolution. See the compose alternative page for the full mapping.
Can I use Kubernetes instead?
Apple Container doesn't have a Kubernetes backend. If you need K8s, consider Docker Desktop with the built-in Kubernetes cluster, or a cloud-based dev environment. Apple Container is designed for local development and single-host production — not container orchestration at scale.
Security & Migration
Is Apple Container secure for production?
Yes — each container runs in its own VM, which provides stronger isolation than Docker's shared-kernel model. The production manual covers TLS termination, network isolation, and secrets management specific to Apple Container. The Virtualization.framework entitlement model also means apps can't escape their sandbox.
How do I migrate my Docker volumes?
Export from Docker first: docker run --rm -v your_vol:/data -v $(pwd):/backup alpine cp -a /data /backup/. Then bind-mount the backup into your Apple Container or create a new named volume and copy the data in. The manual includes step-by-step volume migration for PostgreSQL, MySQL, and Redis.
Can I keep Docker Desktop installed while trying Apple Container?
Yes. They coexist without conflict. Apple Container uses Virtualization.framework, Docker Desktop uses its own hypervisor. You can run containers on both simultaneously while testing the migration.