Skip to content

Releases: fqix/mac-container

v0.5.0

Choose a tag to compare

@fqix fqix released this 31 Oct 07:36
  • Build images from a form: tag, target stage, build context, platforms (selecting both linux/arm64 and linux/amd64 builds 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.memory system properties.
  • customizations.vscode.extensions of 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

Choose a tag to compare

@fqix fqix released this 30 Oct 11:07
  • hostRequirements.cpus and hostRequirements.memory are applied to dev containers again. The Dev Containers CLI only checks them, so they are now passed to Apple container when runArgs do not set CPUs or memory.
  • Dev containers get 4 GB of memory by default instead of the 1 GB Apple container default, so heavy builds no longer run out of memory. The default is configurable with the new appleContainer.devcontainer.memory setting; the larger of it and hostRequirements.memory is used.
  • Fix Error fetching image details: No manifest found when 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 up linux/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

Choose a tag to compare

@fqix fqix released this 29 Oct 10:48
  • Dev containers are now created by the bundled Dev Containers CLI (@devcontainers/cli 0.90.0), the reference implementation of the spec. It runs on the editor's own Node runtime and talks to Apple container through a docker-compatible shim shipped with the extension, so nothing extra needs to be installed. devcontainer.json features 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.
  • runArgs and features that use Docker-only options no longer fail the container start: options Apple container cannot apply (--ipc, --pid, --security-opt, --device, --gpus, mounts of /dev or of paths missing on the Mac, ...) are dropped with a warning, and --privileged becomes --cap-add ALL.
  • forwardPorts are no longer published; Remote-SSH forwards ports it detects in the container, and appPort is still published.
  • The README has a new Limitations section on Docker options that Apple container does 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

Choose a tag to compare

@fqix fqix released this 29 Oct 04:13
  • Open folders in dev containers from devcontainer.json: Open Folder in Dev Container runs the container with Apple container and opens the workspace over Remote-SSH. Supports image and Dockerfile build, the workspace mount, mounts, containerEnv / remoteEnv, containerUser / remoteUser, forwardPorts / appPort, hostRequirements CPUs and memory, capAdd, init, runArgs and all lifecycle commands. The container is reused on the next open and rebuilt when the configuration or its Dockerfile changes. features, Docker Compose, privileged and securityOpt are not supported yet; you are told which settings are ignored.
  • Run and edit containers in a form: ports, mounts, environment variables (paste KEY=VALUE lines or import .env files), 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:5000 are reached over http; list other plain-http registries in appleContainer.insecureRegistries.
  • Remote-SSH: the managed host entries are now added to your SSH config automatically, so the manual Include line 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

Choose a tag to compare

@fqix fqix released this 28 Oct 11:07
  • Open running containers as Remote-SSH workspaces in VS Code or Cursor, using container exec without a published SSH port or a running SSH daemon. The extension installs openssh-server when needed and uses the container's own user by default; override it with appleContainer.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/config

The 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

Choose a tag to compare

@fqix fqix released this 28 Oct 09:30

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