簡體   English   中英

無法在 Windows 10 中啟動 Docker 容器

[英]Unable to start Docker Container in Windows 10

我正在使用 Windows 10 專業版並成功安裝了 Docker 客戶端 18.09.0 並獲取了 hello-world docker 映像。

但是當我嘗試使用 docker run 在容器中運行圖像時,它給出了以下錯誤

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: CreateComputeSystem 7b206637bedeb11c5f4bb8a5c12f941da3980a5c0e6e18d823f3323b6640a9de: The virtual machine could not be started because a required feature is not installed.
(extra info: {"SystemType":"Container","Name":"7b206637bedeb11c5f4bb8a5c12f941da3980a5c0e6e18d823f3323b6640a9de","Owner":"docker","IgnoreFlushesDuringBoot":true,"LayerFolderPath":"C:\\ProgramData\\Docker\\windowsfilter\\7b206637bedeb11c5f4bb8a5c12f941da3980a5c0e6e18d823f3323b6640a9de","Layers":[{"ID":"ba045b84-94ef-5e96-a203-a8ef5cf53b41","Path":"C:\\ProgramData\\Docker\\windowsfilter\\2cbe39538cedc860f14e954ceed1044a5760df8830e8dc21bcbd4d21e88bf8f3"},{"ID":"959d85fc-a8bf-595a-84f9-a083080f2e27","Path":"C:\\ProgramData\\Docker\\windowsfilter\\3fc0987aeffab6be6b2bb0626867739cbad8dd80f42951e4e803b1e61b64543f"},{"ID":"40a5cfc0-ad6b-5b5e-85ff-dcd5826f380a","Path":"C:\\ProgramData\\Docker\\windowsfilter\\3e839c40c3c413a579f0f60a6ad8ec03daa496dcb61cfc621c35788beb6ae0d4"},{"ID":"be5e886a-ec0d-50e8-a735-c2c9a8b717de","Path":"C:\\ProgramData\\Docker\\windowsfilter\\12eddd7dc5f665f34ffebe1ff1600de14da8d7998950b9a3a180407b2781993a"}],"HostName":"7b206637bede","HvPartition":true,"EndpointList":["3C0F3EDA-3D0F-4C93-8908-C4DCB4FF6C8E"],"HvRuntime":{"ImagePath":"C:\\ProgramData\\Docker\\windowsfilter\\3e839c40c3c413a579f0f60a6ad8ec03daa496dcb61cfc621c35788beb6ae0d4\\UtilityVM"},"AllowUnqualifiedDNSQuery":true}).

我不確定該問題的哪些方面或未安裝哪些功能。 當我在互聯網上搜索時,所有錯誤都與我的環境中存在的 hyperv 相關。 我的碼頭信息順便提供了以下詳細信息:

PS C:\Windows\system32> docker info
Containers: 14
 Running: 0
 Paused: 0
 Stopped: 14
Images: 2
Server Version: 18.09.0
Storage Driver: windowsfilter
 Windows:
Logging Driver: json-file
Plugins:
 Volume: local
 Network: ics l2bridge l2tunnel nat null overlay transparent
 Log: awslogs etwlogs fluentd gelf json-file local logentries splunk syslog
Swarm: inactive
Default Isolation: hyperv
Kernel Version: 10.0 17763 (17763.1.amd64fre.rs5_release.180914-1434)
Operating System: Windows 10 Pro Version 1809 (OS Build 17763.134)
OSType: windows
Architecture: x86_64
CPUs: 4
Total Memory: 23.54GiB
Name: DESKTOP-6MOD0L8
ID: 4QC3:QQKX:2BS2:P2JG:RUZA:3MK2:RAQ7:ZW7V:Q6YZ:5S56:Z3GQ:WXDC
Docker Root Dir: C:\ProgramData\Docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: -1
 Goroutines: 26
 System Time: 2018-12-10T12:14:05.5454663+05:30
 EventsListeners: 1
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine

以防萬一有人像我一樣使用 Windows 10 虛擬機,您可以在 Power Shell 中使用以下命令。

Set-VMProcessor -VMName my_virtual_machine -ExposeVirtualizationExtensions $true

請記住在執行命令之前以管理員身份運行,否則它會給你一個錯誤,說你沒有權限。

這幫助我解決了同樣的問題(我啟用了虛擬化,但您可以仔細檢查任務管理器 -> 性能選項卡):

  1. 卸載 hyper-v(在 Windows 功能中找到)
  2. 重啟電腦
  3. 安裝hyper-v
  4. 重啟電腦

現在你希望可以構建你的容器。

來源: https : //github.com/docker/for-win/issues/2956#issuecomment-514572084

如果您使用 Hyper-V 運行 Docker,您可能需要進入 BIOS 並啟用虛擬化

https://blogs.technet.microsoft.com/canitpro/2015/09/08/step-by-step-enabling-hyper-v-for-use-on-windows-10/

我最近在安裝 Docker for Windows 時遇到了這個錯誤,這是罪魁禍首。

我試圖在 Windows 10 中運行RavenDB docker 容器。我的 Windows 10 是在 Mac OS 上的 Parallels Desktop 中運行的虛擬機。

為了能夠運行它,我必須在 Parallels 上啟用嵌套虛擬化功能:

Parallels Desktop 虛擬機中的嵌套 Hyper-V 支持

在此處輸入圖片說明

禁用該功能會導致 RavenDB 容器無法以該通用消息開頭:

“無法啟動虛擬機,因為未安裝所需的功能。”

順便說一句,要在命令行上啟動 docker 時獲取日志,您可以執行以下操作:

docker run -it ravendb/ravendb:windows-nanoserver-latest > C:/Temp/docker-log.txt 2>&1d

這可能會幫助您調試導致問題的原因...

請嘗試以下操作:

  • 卸載docker,重啟
  • 在 Windows 功能中取消選中 Hyper-V 和 Windows Container,重新啟動
  • 完全刪除 docker ,重新啟動
  • 重新安裝docker,也許試試edge

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM