$vmGroupRule =new-object System.Security.AccessControl.FileSystemAccessRule("NT VIRTUAL MACHINE\Virtual Machines","FullControl","ContainerInherit,ObjectInherit","None","Allow")
$acl.SetAccessRule($vmGroupRule)
Set-Acl-AclObject $acl -Path $Root
将其保存为set_perms.ps1并运行它。
提示,你也许需要运行 Set-ExecutionPolicy -Scope process unrestricted 来允许运行未签名的 Powershell 脚本。
C:\Users\mathi\> .\set_perms.ps1 "C:\Program Files\Linux Containers"
C:\Users\mathi\>
现在,将上一步解压得到的 Ubuntu 容器镜像(.vhdx)复制到 C:\Program Files\Linux Containers 下的 uvm.vhdx。
8、更多的 Docker 准备工作Docker for Windows 要求一些预发布的功能才能与 Hyper-V 隔离相配合工作。这些功能在之前的 Docker CE 版本中还不可用,这些所需的文件可以从 master.dockerproject.org 下载。
从 master.dockerproject.org 下载 dockerd.exe 和 docker.exe,并将其放到安全的地方,比如你自己的文件夹中。它们用于在下一步中启动 Ubuntu 容器。
9、 在 Hyper-V 上运行 Ubuntu 容器你现在已经准备好启动你的容器了。首先以管理员身份打开命令行(cmd.exe),然后以正确的环境变量启动 dockerd.exe。
C:\Users\mathi\> set LCOW_SUPPORTED=1
C:\Users\mathi\> .\dockerd.exe -D --data-root C:\lcow
然后,以管理员身份启动 Powershell 窗口,并运行 docker.exe 为你的容器拉取镜像:
C:\Users\mathi\> .\docker.exe pull ubuntu
现在你终于启动了容器,再次运行 docker.exe,让它运行这个新镜像:
C:\Users\mathi\> .\docker.exe run -it ubuntu
恭喜你!你已经成功地在 Windows 上让你的系统运行了带有 Hyper-V 隔离的容器,并且跑的是你非常喜欢的 Ubuntu 容器。
10、获取帮助如果你需要一些 Hyper-V Ubuntu 容器的起步指导,或者你遇到一些问题,你可以在这里寻求帮助: