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