我正在尝试在 Windows Server 2019 上以进程隔离模式运行 Docker(Docker Desktop 在这里不起作用,我的 VPS 不支持 Hyper-V)。我在 PowerShell 中运行它(全部在管理员模式下)
docker run -it --isolation=process mcr.microsoft.com/windows/servercore:ltsc2019 cmd.exe /c ping 127.0.0.1 -t
然后我得到错误:
docker:连接期间出错:在 Windows 上的默认守护进程配置中,docker 客户端必须以提升的权限运行才能连接。:发布 http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/create: open //./pipe/docker_engine: 系统找不到指定的文件。请参阅“docker run --help”。
我& 'C:\Program Files\Docker\DockerCli.exe' -SwitchDaemon按照此处的建议运行了命令:Docker无法在Windows上启动
但是,DockerCli.exe在干净的 Docker 安装中不存在:

正如此处所建议的,DockerCli.exe我尝试从本地 Windows 10 Docker Desktop 安装复制文件并重新运行,但随后我得到:
未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集“Docker.Core,Version=3.0.0.50646,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。在 Docker.Cli.MainBackendCli.Run(IReadOnlyCollection`1 args) 在 Docker.Cli.MainBackendCli.Main(String[] args)
无论如何,从 Docker Desktop 复制文件感觉不是正确的方法。
然后我在 PowerShell 中运行dockerd,因为这是该文件夹中唯一的其他可执行文件:

由于我是新手,我不确定我是否刚刚启动了一个容器,如果是的话,我只是看到哪个容器,start.但不知道它来自哪里或如何配置它。
更新1
根据彼得·威沙特的建议,我尝试过uninstall-Package -Name docker,但后来我得到了
uninstall-Package …Run Code Online (Sandbox Code Playgroud) 我继承了Windows Server Core计算机,并且希望在该计算机上的docker中运行基于Linux的容器。当前已将其设置为运行基于Windows的容器,因此我想切换为运行linux容器。
当我尝试使用基于Linux的映像时,出现以下错误:
PS C:\Program Files\Docker> docker pull my-linux-based-image
Pulling from my-linux-based-image
image operating system "linux" cannot be used on this platform
Run Code Online (Sandbox Code Playgroud)
在Windows台式机上,我将使用系统托盘中的Docker桌面上下文菜单在linux和Windows容器之间进行切换,但这在Windows Core中不可用。我可以从命令行进行此切换吗?
我看到了可以使用的建议,DockerCli.exe但即使确保已安装最新的docker软件包,也没有安装此建议。我需要单独的与cli相关的软件包吗?
这是Windows Core计算机上docker安装的版本信息:
PS C:\Program Files\Docker> docker version
Client: Docker Engine - Enterprise
Version: 18.09.8
API version: 1.39
Go version: go1.10.8
Git commit: 90e30bdf98
Built: 07/16/2019 17:13:22
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine - Enterprise
Engine:
Version: 18.09.8
API version: 1.39 (minimum version 1.24)
Go version: go1.10.8
Git commit: 90e30bdf98
Built: 07/16/2019 …Run Code Online (Sandbox Code Playgroud)