当前位置: 首页 > 知识库问答 >
问题:

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

何哲
2023-03-14

我继承了一台Windows服务器核心机器,我想在那台机器上的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中是不可用的。我可以从命令行进行此切换吗?

下面是在我的Windows核心计算机上安装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

共有1个答案

邬浩涆
2023-03-14

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

这里有更多信息。

希望这有帮助。

更新:

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

在我的例子中,它在这里/c/program\files/docker/docker/dockercli.exe

 类似资料:
  • 我有Windows 10 Pro,版本21H1。虚拟化在BIOS中启用,Hyper-V正在运行。我已经安装了Docker Desktop for Windows,如下所述。我启动Docker桌面,看起来一切都可以很好地运行Linux容器。然而,当我切换到Windows容器时,我总是遇到这个stacktrace崩溃: Docker.Core.DockerException:必需的服务进程已在 Doc

  • 我有一个Spring Boot2项目,这是一个ReST API,我正在使用Spring ReST。 我正在使用2个插件来生成一个SDK其他项目导入调用我的API。第一个插件是以生成swagger-codegen-spec文件,第二个插件是,以生成实际的SDK文件作为另一个mvn项目。 最后,我实现了组件测试自动化,这些组件测试使用SDK对正在运行的API运行测试。 我的目标是实际构建SDK作为原始

  • 问题内容: 我可以在主机上运行docker命令吗?我安装在Docker容器中,现在可以以某种方式在主机上使用命令(在后台使用Docker容器的aws)吗? 我的情况是这样的:我在生产主机上有数据库备份。现在我有Jenkins cron作业,它将从db容器中获取sql文件,并将其放入服务器文件夹中。现在我还希望jenkins将此备份文件上传到AWS存储上,但是在主机上我没有安装aws,也不想在主机上

  • 我刚刚下载了用于Linux的nifi-0.5.1。 我很感激你的帮助,

  • 问题内容: 在旧版Docker for Windows中,我记得它明确表示它使用Linux VM作为内核。 但自从新的稳定版本(我认为是2016年7月发布)以来,它说 如果我理解正确,则指定的基本映像用于用户空间,并且使用主机的内核。因此,如果指定使用ubuntu基本映像运行echo命令,则Windows内核如何发挥作用? 还是我完全误会了什么? 问题答案: 适用于Windows的Docker仍使

  • 问题内容: 我准备了一个docker-compose文件来部署带有数据库的容器: 没关系。但是现在我需要创建一个数据库并建立其结构。我需要执行一些sql命令。为了检查我是否能够做到这一点,我将其添加到服务中: 但是我遇到以下错误: 我感觉命令是在Sql Server实例启动之前执行的。我该如何解决?Sql Server启动后如何执行一些sql? 问题答案: 问题是在容器中仅执行一个命令。当您在其中