我继承了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 17:11:04
OS/Arch: windows/amd64
Experimental: false
Run Code Online (Sandbox Code Playgroud)
在 powershell 中我运行了下面的确切命令-
./DockerCli.exe -SwitchDaemon
Run Code Online (Sandbox Code Playgroud)
注意-在运行上述命令之前移动到此路径
C:\Program Files\Docker\Docker
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
您可以使用选项控制要切换的引擎。
-SwitchLinuxEngine
-SwitchWindowsEngine
Run Code Online (Sandbox Code Playgroud)
更多信息在这里。
希望这可以帮助。
更新:
DockerCli.exe可以在Program Files文件夹中找到。
以我为例 /c/Program\ Files/Docker/Docker/DockerCli.exe
小智 5
您必须安装 Docker Enterprise 才能从 Windows 切换到 Linux 容器。有关更多信息,请参阅https://computingforgeeks.com/how-to-run-docker-containers-on-windows-server-2019/。
| 归档时间: |
|
| 查看次数: |
1210 次 |
| 最近记录: |