<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/i-tested-apple-s-container-1-1-0-against-docker-desktop-here-s-what-i-measured-v6ogrbuf4" -->

---
title: I Tested Apple&#x27;s Container 1.1.0 Against Docker Desktop...
description: A hands-on benchmark comparing Apple&#x27;s Container CLI 1.1.0 (with Mocker for Docker Compose compatibility) against Docker Desktop on Apple Silicon. Testing a...
canonical: https://daily.dev/posts/i-tested-apple-s-container-1-1-0-against-docker-desktop-here-s-what-i-measured-v6ogrbuf4
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: I Tested Apple&#x27;s Container 1.1.0 Against Docker Desktop — Here&#x27;s What I Measured | daily.dev
og:description: A hands-on benchmark comparing Apple&#x27;s Container CLI 1.1.0 (with Mocker for Docker Compose compatibility) against Docker Desktop on Apple Silicon. Testing a...
og:url: https://daily.dev/posts/i-tested-apple-s-container-1-1-0-against-docker-desktop-here-s-what-i-measured-v6ogrbuf4
og:image: https://api.daily.dev/og/posts/V6oGrBuF4.png
og:image:alt: I Tested Apple&#x27;s Container 1.1.0 Against Docker Desktop — Here&#x27;s What I Measured
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# I Tested Apple's Container 1.1.0 Against Docker Desktop — Here's What I Measured

**[Chewbacca](https://daily.dev/sources/9gnwvwtuwwgw0htla8lsl)** · [@hemna](https://daily.dev/hemna) · 4 min read · 0 upvotes · 0 comments

## Summary

A hands-on benchmark comparing Apple's Container CLI 1.1.0 (with Mocker for Docker Compose compatibility) against Docker Desktop on Apple Silicon. Testing a 3-container stack (PostgreSQL, Spring Boot, Python), the author found Apple Container's host process overhead is significantly lower (171.6 MB vs 752.4 MB), but each container runs in its own micro-VM adding 392–583 MB per container on the host. A critical blocker was discovered: inter-container DNS resolution does not work in Mocker 0.7.2, preventing multi-service stacks from communicating by hostname. amd64 images via Rosetta, OCI pulls, single-container execution, and port forwarding all worked correctly.

## Content

# I Tested Apple's Container 1.1.0 Against Docker Desktop — Here's What I Measured

Apple's container tool hit 1.1.0 on July 6, 2026. According to Apple's README, each container runs in its own lightweight micro-VM via the macOS Virtualization framework. I took my running Docker Compose stack and moved it to Apple's toolchain to measure the difference.

## The Setup

A 3-container stack on my Mac (Apple silicon, macOS 26.5.1):

- **postgres:17-alpine** — database
- **tmseidel/ai-git-bot:latest** — Spring Boot app (amd64-only image)
- **python:3.12-slim** — lightweight webhook proxy

This is a Gitea code review bot running in Docker Desktop.

## Installing Apple Container + Mocker

Apple's `container` CLI installs via a signed .pkg from their GitHub releases. `container system start` pulls a Kata Containers kernel.

For Docker Compose compatibility, I used [Mocker](https://github.com/us/mocker) (`brew tap us/tap && brew install mocker`) — wraps Apple's container CLI with Docker-compatible commands.

## The Memory Numbers

### Docker Desktop (all 3 containers running)

Measured via `docker stats --no-stream` and `ps -eo rss,comm`:

| Component | Memory |
|-----------|--------|
| Host processes (all Docker Desktop processes) | 752.4 MB RSS |
| gitea-code-review-app-1 (Spring Boot) | 715.5 MiB |
| gitea-code-review-db-1 (Postgres) | 66.6 MiB |
| gitea-code-review-proxy-1 (Python) | 28.5 MiB |
| VM configured allocation | 16,384 MiB / 12 CPUs |

### Apple Container / Mocker (2 of 3 containers — app failed, explained below)

Measured via `mocker stats --no-stream` and `ps -eo rss,comm`:

| Component | Memory |
|-----------|--------|
| System services (apiserver + plugins) | 171.6 MB RSS |
| gitea-db VM process (`com.apple.Virtualization.VirtualMachine`) | 583.3 MB RSS |
| gitea-proxy VM process (`com.apple.Virtualization.VirtualMachine`) | 392.9 MB RSS |
| **Total measured** | **1,187.1 MB** |

### Side-by-Side: Same Container, Different Runtime

| Container | Docker `stats` reported | Apple Container host VM process RSS |
|-----------|------------------------|--------------------------------------|
| postgres:17-alpine | 66.6 MiB | 583.3 MB |
| python:3.12-slim proxy | 28.5 MiB | 392.9 MB |

Note: these numbers aren't directly comparable — Docker reports memory usage *inside* the shared VM, while Apple Container's numbers are the full VM process RSS on the host. I did not measure what portion of each VM process is kernel/init overhead vs application memory.

### Host Overhead Comparison

| | Docker Desktop | Apple Container |
|---|---|---|
| Host process RSS (no containers counted) | 752.4 MB | 171.6 MB |

## What Broke: DNS Between Containers

The Spring Boot app failed to start with:

```
java.net.UnknownHostException: gitea-db
```

I created a shared network (`mocker network create gitea-net`), attached all containers to it, and retried. Same failure. I verified from inside the proxy container:

```python
>>> socket.getaddrinfo('gitea-db', 5432)
socket.gaierror: [Errno -3] Temporary failure in name resolution
```

Containers on the same mocker network cannot resolve each other by hostname.

## What Worked

- **amd64 image ran via Rosetta** — I ran `container run --platform linux/amd64 alpine echo "test"` and got output. The Spring Boot amd64 image started and executed (it failed on DB connectivity, not execution).
- **OCI image pull** — pulled postgres:17-alpine, python:3.12-slim, tmseidel/ai-git-bot:latest from Docker Hub without modification.
- **Single container execution** — `mocker run -d --name gitea-db postgres:17-alpine` started, and `mocker exec gitea-db pg_isready` returned "accepting connections".
- **Port forwarding** — `mocker run -d -p 8080:8080` allocated the port (visible in `mocker ps` output).

## What I Did NOT Test

- Security/isolation claims (hypervisor boundary vs namespace)
- I/O performance
- Network throughput between containers (DNS didn't work, so I couldn't)
- Container startup time benchmarks
- The Spring Boot app fully running under mocker (blocked by DNS failure)

## Summary Table

| | Docker Desktop | Apple Container + Mocker |
|---|---|---|
| Multi-service compose (services talk by name) | Worked | Failed — DNS resolution broken |
| Host process memory | 752.4 MB measured | 171.6 MB measured |
| Per-container memory overhead | (shared VM, not directly measurable per-container on host) | 392–583 MB per VM process on host |
| amd64 on ARM | Worked | Worked (Rosetta) |
| Version tested | 29.6.1 | CLI 1.1.0, Mocker 0.7.2 |

## Bottom Line

With 2 of 3 containers running, Apple Container consumed 1,187 MB on the host. Docker Desktop consumed 752 MB in host processes plus container memory inside its shared VM. I was unable to run the full 3-container stack under mocker because inter-container DNS resolution does not work in mocker 0.7.2 with `mocker network create`.

Compose support is the most active thread in Apple's GitHub Discussions (#194, 150+ replies, no timeline from Apple).

---

*Measured on: MacBook Pro (Apple silicon), macOS 26.5.1, Apple Container CLI 1.1.0, Mocker 0.7.2, Docker Desktop 29.6.1. July 9, 2026.*

## Similar posts on daily.dev

- [Apple Ships Stable 1.0 of its Native Container Tool for macOS](https://daily.dev/posts/apple-ships-stable-1-0-of-its-native-container-tool-for-macos-d37rsabnf) · Cloud Native Now · 9 upvotes · 0 comments
- [\+ Docker Compose Support\! Said my Apple Container Desktop\!](https://daily.dev/posts/docker-compose-support-said-my-apple-container-desktop--cdosfwefe) · Medium · 0 upvotes · 0 comments

---

Tags: [#infrastructure](https://daily.dev/tags/infrastructure), [#docker](https://daily.dev/tags/docker), [#containers](https://daily.dev/tags/containers), [#mac](https://daily.dev/tags/mac)

[View this post on daily.dev](https://daily.dev/posts/i-tested-apple-s-container-1-1-0-against-docker-desktop-here-s-what-i-measured-v6ogrbuf4)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"DiscussionForumPosting","mainEntityOfPage":"https://daily.dev/posts/i-tested-apple-s-container-1-1-0-against-docker-desktop-here-s-what-i-measured-v6ogrbuf4","headline":"I Tested Apple's Container 1.1.0 Against Docker Desktop — Here's What I Measured","text":"A hands-on benchmark comparing Apple's Container CLI 1.1.0 (with Mocker for Docker Compose compatibility) against Docker Desktop on Apple Silicon. Testing a 3-container stack (PostgreSQL, Spring Boot, Python), the author found Apple Container's host process overhead is significantly lower (171.6 MB vs 752.4 MB), but each container runs in its own micro-VM adding 392–583 MB per container on the host. A critical blocker was discovered: inter-container DNS resolution does not work in Mocker 0.7.2, preventing multi-service stacks from communicating by hostname. amd64 images via Rosetta, OCI pulls, single-container execution, and port forwarding all worked correctly.","url":"https://daily.dev/posts/i-tested-apple-s-container-1-1-0-against-docker-desktop-here-s-what-i-measured-v6ogrbuf4","datePublished":"2026-07-09T15:21:23.363Z","dateModified":"2026-07-09T15:21:45.380Z","author":{"@type":"Person","name":"Chewbacca","url":"https://daily.dev/hemna","image":"https://avatars.githubusercontent.com/u/672207?v=4","description":"Block storage service owner for SAP's cloud.","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":3000}},"interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"isPartOf":{"@type":"WebPage","url":"https://daily.dev/sources/9gnwvwtuwwgw0htla8lsl","name":"Chewbacca"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Chewbacca","item":"https://daily.dev/sources/9gnwvwtuwwgw0htla8lsl"},{"@type":"ListItem","position":3,"name":"I Tested Apple's Container 1.1.0 Against Docker Desktop — Here's What I Measured"}]}
```

