A Visual Studio Code extension for managing Apple Containers directly from your editor. Apple Containers is a lightweight alternative to Docker on macOS, offering native virtualization with better performance and lower resource usage.
- View all containers - See running and stopped containers in a tree view
- Start/Stop/Restart - Control container lifecycle with one click
- Attach shell - Open an interactive terminal inside running containers
- View logs - Stream container logs in real-time
- Inspect - View detailed JSON configuration
- Live stats - Monitor CPU, memory, and network usage
- Browse images - View all local container images
- Pull images - Download images from registries
- Build images - Build from Dockerfile or Containerfile
- Delete/Prune - Clean up unused images
- Create volumes - Set up persistent storage
- Inspect volumes - View volume details and mountpoints
- Delete/Prune - Remove unused volumes
- Create networks - Set up custom container networks
- Configure IPAM - Define subnets and gateways
- Inspect networks - View network configuration
- Status bar integration - Shows running container count
- Auto-refresh - Keeps views up to date automatically
- Context menus - Right-click actions for quick access
- Configurable - Customize behavior through settings
- macOS - Apple Containers only runs on macOS
- Apple Containers CLI - The
containercommand must be installed - VS Code 1.85.0+ - Required for extension features
- Open VS Code
- Go to Extensions (β+Shift+X)
- Search for "Apple Containers"
- Click Install
code --install-extension apple-containers-0.1.0.vsixgit clone https://github.com/sanjay3290/apple-containers-extension.git
cd apple-containers-extension
npm install
npm run compile- Open the Apple Containers sidebar (container icon in activity bar)
- View your containers, images, volumes, and networks
- Right-click items for context actions
- Use the command palette (β+Shift+P) for additional commands
- Click the play button in the Containers view title bar
- Enter the image name (e.g.,
nginx:latest,ubuntu:22.04) - Optionally set a container name
- Select options (interactive, remove on exit, etc.)
- The container starts in a terminal or background
- Click the tools button in the Images view title bar
- Select the build context (workspace folder)
- Choose a Dockerfile if multiple exist
- Enter the image tag
- The build runs in a terminal
- Click the cloud download button in the Images view
- Enter the image name and tag
- Select platform (arm64 or amd64 with Rosetta)
- The pull runs in a terminal with progress
| Setting | Default | Description |
|---|---|---|
appleContainers.containerPath |
container |
Path to the container CLI |
appleContainers.refreshInterval |
5000 |
Auto-refresh interval in ms (0 to disable) |
appleContainers.showStoppedContainers |
true |
Show stopped containers in list |
appleContainers.defaultShell |
/bin/sh |
Default shell for attach |
appleContainers.confirmBeforeDelete |
true |
Confirm before deleting resources |
All commands are available in the Command Palette (β+Shift+P) under "Apple Containers":
| Command | Description |
|---|---|
Apple Containers: Refresh |
Refresh all views |
Apple Containers: Run Container... |
Run a new container |
Apple Containers: Pull Image... |
Pull an image from registry |
Apple Containers: Build Image... |
Build from Dockerfile |
Apple Containers: Create Volume... |
Create a new volume |
Apple Containers: Create Network... |
Create a new network |
Apple Containers: Prune Unused Images |
Remove dangling images |
Apple Containers: Prune Unused Volumes |
Remove unused volumes |
Apple Containers: Open Settings |
Open extension settings |
| Feature | Docker Desktop | Apple Containers |
|---|---|---|
| Resource usage | High (VM overhead) | Low (native virtualization) |
| Startup time | Slower | Faster |
| macOS integration | Requires license | Native Apple technology |
| ARM64 support | Good | Excellent (native) |
| x86 emulation | Rosetta 2 | Rosetta 2 |
| Compose support | Full | Limited |
| Linux compatibility | Full | Full |
If the extension can't find the container CLI:
- Open Settings (β+,)
- Search for "appleContainers.containerPath"
- Set the full path to the container binary
If you get permission errors:
# Ensure container CLI has execute permission
chmod +x /path/to/containerIf containers fail to start:
- Check Apple Containers daemon is running
- Verify network settings
- Check the output channel for errors (View > Output > Apple Containers)
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
npm test - Submit a pull request
MIT License - see LICENSE for details.
- Apple for the Containers technology
- VS Code team for the excellent extension API
- The container community for inspiration
Enjoy managing containers the Apple way! π