我继承了一台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
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? 问题答案: 问题是在容器中仅执行一个命令。当您在其中