Docker命令行切换到Windows Core计算机上正在运行的linux容器

时间:2019-07-17 17:29:29

标签: windows docker

我继承了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

在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 17:11:04
  OS/Arch:          windows/amd64
  Experimental:     false

3 个答案:

答案 0 :(得分:3)

您必须安装Docker Enterprise才能从Windows切换到Linux容器。有关更多信息,请参见https://computingforgeeks.com/how-to-run-docker-containers-on-windows-server-2019/

答案 1 :(得分:1)

Dockercli -SwitchDaemon选项在这里应有帮助。

$ ./DockerCli.exe
Usage: DockerCli.exe [-SwitchDaemon] [-Version]
-Version: Show the Docker for Windows version information
-SwitchDaemon: Point the Docker CLI to either Linux containers or Windows containers
-SharedDrives: List the shared drives

您可以使用选项控制要切换的引擎。

-SwitchLinuxEngine
-SwitchWindowsEngine

更多信息here

希望这会有所帮助。

更新

DockerCli.exe可在Program Files文件夹中找到。

就我而言,它在这里/c/Program\ Files/Docker/Docker/DockerCli.exe

答案 2 :(得分:1)

在 powershell 中,我运行了以下确切命令-

./DockerCli.exe -SwitchDaemon

注意-在运行上述命令之前移动到此路径

  **C:\Program Files\Docker\Docker**