A Vagrant environment to create Docker Machines for running Windows containers on macOS, Linux, and Windows hosts.
Windows Docker Machine is a Vagrant-based tool that creates Docker Machines for running Windows containers on macOS, Linux, and Windows development hosts. It solves the problem of developing and testing Windows containerized applications on non-Windows systems by providing a managed Windows Server VM with Docker installed. The tool integrates with Docker contexts to allow seamless switching between Windows containers and local Docker Desktop environments.
Developers and DevOps engineers who need to build, test, or run Windows containers on macOS, Linux, or Windows hosts, particularly those working in cross-platform environments or without direct access to Windows servers.
It provides a reproducible, Infrastructure-as-Code approach to Windows container development, eliminating the need for dedicated Windows hardware. The pre-built Vagrant boxes and Docker context integration make it significantly easier to switch between container platforms compared to manual VM setup.
Work with Windows containers and LCOW on Mac/Linux/Windows
Enables running Windows containers on macOS and Linux hosts, bridging a critical gap for developers without Windows hardware. The README shows tested environments for macOS, Linux, and Windows with multiple hypervisors.
Integrates with Docker contexts for seamless switching between Windows containers and Docker Desktop Linux containers. The demo shows commands like `docker context use 2019-box` to toggle environments.
Supports various Windows Server editions from 2016 to 2022, Insider builds, and semi-annual releases. The README lists flavors like 2022-box, 1903, and insider for testing compatibility.
Offers pre-built box images from Vagrant Cloud (e.g., 2019-box, 2022-box) for quick setup without building from scratch. This reduces initial configuration time compared to manual Packer builds.
Requires running a full Windows Server VM, which consumes significant memory and CPU resources, making it unsuitable for low-spec machines or resource-constrained environments.
Setup involves multiple steps: building Vagrant boxes with Packer for some versions, hypervisor configuration, and manual commands for volume mounting. The README shows lengthy Packer build commands and hypervisor-specific issues.
The README acknowledges issues with VirtualBox and Hyper-V on Windows hosts, citing unresolved problems in GitHub issues #1 and #2. This restricts reliable usage primarily to VMware on supported platforms.
Mounting host directories requires manual path adjustments (e.g., `C:$(pwd)` on macOS), adding complexity compared to native Docker Desktop volume mounting. The README shows specific commands for this, which can be error-prone.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.