apple-container
Use this skill when the user wants to work with Apple's `container` CLI for macOS — building, running, or managing lightweight Linux containers using…
Skill by skuridin
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/skuridin-apple-container
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/apple-container
What's inside
- Skill name
apple-container- Description
- Use this skill when the user wants to work with Apple's `container` CLI for macOS — building, running, or managing lightweight Linux containers using per-container VMs. Covers container lifecycle, image builds, networking, volumes, container machines, system configuration, and troubleshooting. Not for Docker, Podman, or other Linux container runtimes.
- License
- Apache-2.0
- Instructions
- 160 lines in SKILL.md · view on GitHub
Files (5)
- SKILL.md
- command-reference.md · references/
- container-machine.md · references/
- how-to.md · references/
- system-config.md · references/
SKILL.md (first lines)
# Apple Container (`container` CLI)
## Use this skill when
- Running, creating, stopping, or managing containers on macOS with Apple's `container` tool
- Building OCI images from Dockerfiles or Containerfiles
- Configuring container resources (CPU, memory, networking, volumes, capabilities)
- Working with container machines (persistent Linux environments)
- Troubleshooting container issues, networking, or system configuration
- Managing images, registries, builders, or container system services
## Before you start
1. Verify the environment: `container` is **macOS-only** and requires macOS 15+ (full features on macOS 26+). It is not Docker-compatible.
2. Ensure the system is running: `container system status` or `container system start`
3. Check the CLI version: `container --version`
## Core concepts
- **Per-container VMs**: Each container runs in its own lightweight Linux VM (not a shared VM). This gives stronger isolation and privacy than Docker Desktop.
- **OCI images**: Standard Docker/OCI images work. Images built with `container` run anywhere OCI-compatible.
- **Container machines**: Persistent Linux environments with your host home directory mounted in. Good for development workflows.
- **Builder**: A separate BuildKit VM used by `container build`. It has its own CPU/memory limits.
## Common workflows
### Run a container
```bash
# Interactive shell
container run -it ubuntu:latest /bin/bash
# Background with port forward and auto-remove
container run -d --rm --name web -p 8080:80 nginx:latest
# With resource limits and volumes
container run --cpus 8 --memory 32g -v ${HOME}/projects:/projects ubuntu:latest
# Multi-platform run
container run --arch amd64 --rm ubuntu:latest uname -m
```
### Build an image
```bash
# Standard build
container build -t my-app:latest .
# Custom Dockerfile, production stage, no cache
container build -f docker/Dockerfile.prod --target production --no-cache -t my-app:prod .
# Multi-platform build
container build --arch arm64 --arch amd64 -t my-app:latest .
# Build with custom builder resources
container builder start --cpus 8 --memory 32g
container build -t my-app:latest .
```
### Container lifecycle
```bash
container create --name my-app --cpus 2 --memory 1g ubuntu:latest
container start my-app
container stop my-app
container delete my-app
container prune # remove stopped containers
```
### Container machines
```bash
container machine create alpine:latest --name dev
container machine set-default dev
container machine run # interactive shell
container machine run -n dev -- make # run command
container machine stop dev
container machine rm dev
```
### Networking (macOS 26+)
```bash
container network create foo --subnet 192.168.100.0/24
container run -d --name web --network foo --rm nginx:latest
container network delete foo
```
On macOS 15: only the default network exists, container-to-container networking is not available, and `--network` options on `run`/`create` error.
### Volumes
```bash
container volume create myvol --opt size=10g
container run -v myvol:/data alpine:latest
container volume delete myvol
container volume prune
```
### System management
```bash
container system start
container system status
container system stop
container system logs
container system df
container system property list
```
## Important gotchas
- **macOS 15 limitations**: No custom networks, no container-to-container networking, and possible IP/subnet disagreements causing no network access. If networking fails, check the troubleshooting section of `references/how-to.md`.
- **Memory ballooning**: Memory freed by Linux inside the VM is not returned to macOS. Memory-intensive containers may need occasional restart to reduce host memory usage.
- **Builder resources**: The builder has its own defaults (2 CPUs, 2 GiB). For large builds, explicitly start it with `container builder start --cpus X --memory Yg` before building.
- **Anonymous volumes**: Unlike Docker, anonymous volumes do NOT auto-cleanup with `--rm`. Manual deletion is required.
- **SSH forwarding**: Use `--ssh` instead of manual volume mounts for `SSH_AUTH_SOCK`. The path is automatically updated across login sessions.
- **Capabilities**: Default set includes `CAP_NET_RAW`, `CAP_NET_BIND_SERVICE`, etc. Use `--cap-add`/`--cap-drop` with or without `CAP_` prefix (case-insensitive).
- **DNS domains**: `container system dns create` requires `sudo`. It disables Private Relay and the rule is removed on restart.From skuridin/agent-stuff, Apache-2.0.
More from skuridin/agent-stuff
- 0.570score
address-review
skuridin
Handle review comments on my own pull request.
SkillAFreshness: AClaude Code +9 - 0.561score
publish-html-report
skuridin
Use this skill whenever you create or finish a standalone HTML report or presentation intended for the requester to view in a browser.
SkillAFreshness: AClaude Code +9 - 0.529score
pr-review-bot
skuridin
Unattended thermo-nuclear PR review loop.
SkillBFreshness: BClaude Code +9 - 0.526score
thermo-nuclear-pr-review
skuridin
Thermo-nuclear code quality review of a GitHub pull request.
SkillBFreshness: BClaude Code +9 - 0.474score
panel-review
skuridin
Use this skill when reviewing code, PRs, files, or directories as an expert panel; supports interactive walkthroughs and opt-in draft GitHub reviews for…
SkillCFreshness: CClaude Code +9 - 0.474score
bearcli
skuridin
Use Bear CLI to read, search, create, and safely edit Bear notes from the terminal.
SkillCFreshness: CClaude Code +9 - 0.469score
frontend-instrumented-debugging
skuridin
Use this skill when debugging hard JavaScript frontend bugs where runtime behavior is unclear, especially async flows, state gates, retries, effects…
SkillCFreshness: CClaude Code +9 - 0.445score
grill-me
skuridin
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree.
SkillCFreshness: CClaude Code +9 - 0.409score
pr-create
skuridin
Create GitHub pull requests with conventional commit titles and clear, non-technical descriptions answering what changed and why.
SkillDFreshness: DClaude Code +9 - 0.409score
gondolin-exec
skuridin
Run commands in an isolated, disposable Linux VM using Gondolin CLI.
SkillDFreshness: DClaude Code +9 - 0.409score
functional-spec
skuridin
Write durable Functional Specifications that describe desired behavior, constraints, and acceptance criteria without coupling the document to implementation…
SkillDFreshness: DClaude Code +9 - 0.409score
vertical-slice-tracker
skuridin
Break implementation work into end-to-end vertical slices, create or update a markdown task tracker when the user asks for written planning, and keep each…
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jun 10, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/skuridin/agent-stuff
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from skuridin
- 0.570score
address-review
skuridin
Handle review comments on my own pull request.
SkillAFreshness: AClaude Code +9 - 0.561score
publish-html-report
skuridin
Use this skill whenever you create or finish a standalone HTML report or presentation intended for the requester to view in a browser.
SkillAFreshness: AClaude Code +9 - 0.529score
pr-review-bot
skuridin
Unattended thermo-nuclear PR review loop.
SkillBFreshness: BClaude Code +9 - 0.526score
thermo-nuclear-pr-review
skuridin
Thermo-nuclear code quality review of a GitHub pull request.
SkillBFreshness: BClaude Code +9 - 0.474score
bearcli
skuridin
Use Bear CLI to read, search, create, and safely edit Bear notes from the terminal.
SkillCFreshness: CClaude Code +9 - 0.474score
panel-review
skuridin
Use this skill when reviewing code, PRs, files, or directories as an expert panel; supports interactive walkthroughs and opt-in draft GitHub reviews for…
SkillCFreshness: CClaude Code +9
Cite this page
apple-container skill. Agent Mart. https://agentmart.dev/skills/skuridin-apple-container (last updated 2026-10-24)