Containers-Toolkit is a Windows PowerShell module for downloading, installing, and configuring Containerd, Buildkit, nerdctl, and Windows CNI plugins for container networks. It also allows you to get a list of the container tools and their installation statuses.
Configurations done with these functions are default configurations that allow you to get started with interacting with the tools. Further configurations may be necessary. You can find documentation for these functions here: Containers-Toolkit Documentation
-
PowerShell: Minimum Version 7
-
ThreadJob
moduleInstall-Module -Name ThreadJob -Force
-
HNS
moduleTo install the HNS module, follow the instructions here
Reference:
COMING SOON: We are currently working on publishing this module to PS Gallery to make it easier to import the module
Coming soon
To use the module, fork/clone the repository to your local machine and setup your development environment
Get-Help containers-toolkit
Get-Module -Name containers-toolkit -ListAvailable
- List of all available commands can be found in the Command reference section
- Detailed command reference for each cmdlet can be found in the About section
Get-Command -Module containers-toolkit
-
Get help for Install-Containerd command
Get-Help Install-Containerd
-
List container tools (Containerd, BuildKit, and nerdctl) install status
Show-ContainerTools
-
Installs Containerd version 1.7.7 at 'C:\Test\Path\containerd' and adds 'C:\Test\Path\containerd' in the environment path.
Install-Containerd -Version "1.7.7" -InstallPath 'C:\Test\Path\Containerd'
-
Requires elevated PowerShell to run some commands.
-
To use these tools (Containerd, BuildKit, and nerdctl), ensure that Containers and HyperV Windows features are enabled.
To get the features to enable, use:
Get-WindowsOptionalFeature -Online | ` Where-Object { $_.FeatureName -like 'containers' -or $_.FeatureName -match "Microsoft-Hyper-V(-All)?$" } | ` Select-Object FeatureName, Possible, State, RestartNeeded
To enable a feature:
Enable-WindowsOptionalFeature -Online -FeatureName '<Feature-Name-Here>' -All -NoRestart
Please visit the FAQs.md to see the how to resolve common issues.
Please look into the Contribution Guide to know how to develop and contribute.
PowerShell is licensed under the MIT license.
Please see our Code of Conduct before participating in this project.
For any security issues, please see our Security Policy.
This project builds on the work of others to create a PowerShell module.
Credits (in alphabetic order):
Author/Repository | Link |
---|---|
Anthony Nandaa (@profnandaa) | cni-setup-legacy.ps1 |
Gabriel Samfira (@gabriel-samfira) | setup_buildkitd_on_windows.ps1 |
James Sturtevant (@jsturtevant) | Windows Containers on Windows 10 without Docker (using Containerd) |
kubernetes-sigs/sig-windows-tools | Install-Containerd.ps1 |
Marat Radchenko (@slonopotamus) | Stevedore |
Markus Lippert (@lippertmarkus) | containerd-installer |
microsoft/Windows-Containers | install-containerd-runtime.ps1 |
Mirantis | Install MCR on Windows Servers |