Repository navigation
Releases: fqix/mac-container
Release list
v0.5.0
- Build images from a form: tag, target stage, build context, platforms (selecting both
linux/arm64andlinux/amd64builds a multi-platform image), build arguments, secrets (from an environment variable or a file), labels, no cache, pull and SSH agent forwarding. The options are remembered per Dockerfile, and a failed build keeps the form open. - The BuildKit builder has its own Builder view with start, stop, restart, logs, inspect and delete, and no longer appears among the containers. Builds use the CPUs and memory of the
build.cpus/build.memorysystem properties. customizations.vscode.extensionsof a dev container, including those contributed by its features, are installed when its Remote-SSH window connects. Each container installs them once and again after a rebuild; extensions that cannot be installed are listed in one warning. Works in VS Code and Cursor.
Requires an Apple silicon Mac, the Apple container CLI, and VS Code 1.90 or later. The attached VSIX targets darwin-arm64.
v0.4.1
hostRequirements.cpusandhostRequirements.memoryare applied to dev containers again. The Dev Containers CLI only checks them, so they are now passed to ApplecontainerwhenrunArgsdo not set CPUs or memory.- Dev containers get 4 GB of memory by default instead of the 1 GB Apple
containerdefault, so heavy builds no longer run out of memory. The default is configurable with the newappleContainer.devcontainer.memorysetting; the larger of it andhostRequirements.memoryis used. - Fix
Error fetching image details: No manifest foundwhen a dev container's base image is not stored locally. The Dev Containers CLI looked the image up for the macOS host platform and then pulled the whole image just to read its metadata; it now looks uplinux/arm64.
Requires an Apple silicon Mac, the Apple container CLI, and VS Code 1.90 or later. The attached VSIX targets darwin-arm64.
v0.4.0
- Dev containers are now created by the bundled Dev Containers CLI (
@devcontainers/cli0.90.0), the reference implementation of the spec. It runs on the editor's own Node runtime and talks to Applecontainerthrough a docker-compatible shim shipped with the extension, so nothing extra needs to be installed.devcontainer.jsonfeatures are now installed, and lifecycle commands, variables and image metadata behave as they do with Docker. The CLI log (image builds, features, lifecycle commands) is shown in a task terminal. runArgsand features that use Docker-only options no longer fail the container start: options Applecontainercannot apply (--ipc,--pid,--security-opt,--device,--gpus, mounts of/devor of paths missing on the Mac, ...) are dropped with a warning, and--privilegedbecomes--cap-add ALL.forwardPortsare no longer published; Remote-SSH forwards ports it detects in the container, andappPortis still published.- The README has a new Limitations section on Docker options that Apple
containerdoes not support.
Requires an Apple silicon Mac, the Apple container CLI, and VS Code 1.90 or later. The attached VSIX targets darwin-arm64.
v0.3.0
- Open folders in dev containers from
devcontainer.json: Open Folder in Dev Container runs the container with Applecontainerand opens the workspace over Remote-SSH. Supportsimageand Dockerfilebuild, the workspace mount,mounts,containerEnv/remoteEnv,containerUser/remoteUser,forwardPorts/appPort,hostRequirementsCPUs and memory,capAdd,init,runArgsand all lifecycle commands. The container is reused on the next open and rebuilt when the configuration or its Dockerfile changes.features, Docker Compose,privilegedandsecurityOptare not supported yet; you are told which settings are ignored. - Run and edit containers in a form: ports, mounts, environment variables (paste
KEY=VALUElines or import.envfiles), networks, CPUs, memory, user and working directory. - Upload files and folders to running containers and download them, picking container paths by browsing the container.
- Push images, and export or import them as OCI tar archives. Loopback registries such as
localhost:5000are reached over http; list other plain-http registries inappleContainer.insecureRegistries. - Remote-SSH: the managed host entries are now added to your SSH config automatically, so the manual
Includeline from 0.2.0 is no longer needed. - Fix SSH sessions missing the container's environment variables (image
ENV,--env): they are now passed to the VS Code server and terminals.
See the dev container guide for details.
Requires an Apple silicon Mac, the Apple container CLI, and VS Code 1.90 or later. The attached VSIX targets darwin-arm64.
v0.2.0
- Open running containers as Remote-SSH workspaces in VS Code or Cursor, using
container execwithout a published SSH port or a running SSH daemon. The extension installsopenssh-serverwhen needed and uses the container's own user by default; override it withappleContainer.sshUser. - Run images with suggested Docker-style random names and optional shell scripts through
/bin/sh -c. - Fix terminal tasks when no workspace folder is open.
- Organize extension source modules by responsibility.
For Remote-SSH, install a Remote - SSH extension and add this line before any Host entry in ~/.ssh/config (or remote.SSH.configFile):
Include ~/.ssh/apple-container/configThe extension keeps its SSH config and key pair in ~/.ssh/apple-container/. See the Remote-SSH setup guide for details.
Requires an Apple silicon Mac, the Apple container CLI, and VS Code 1.90 or later. The attached VSIX targets darwin-arm64.
v0.1.0
Initial release.
- Containers, Images, Networks, Volumes and Registries views for Apple
container - Container lifecycle: start, stop, restart, kill, delete, logs, boot logs, shell, inspect, prune
- Containers expand into Volumes and Ports when they have any; ports open in the browser
- container-compose projects grouped in the Containers view, with Compose Up / Down and group actions
- Edit published ports and mounts of a container (recreates it, optionally keeping its filesystem changes)
- Live stats charts (CPU, memory, network I/O, block I/O)
- Image pull, build (from Dockerfile / Containerfile), run, tag, delete, prune
- Registry login / logout with the password passed on stdin
- Status bar item for the container system service: start, stop, status, disk usage, logs
- English and Simplified Chinese