如何在Windows 10中由管理员删除docker-machine machine(由用户创建)?

时间:2018-07-23 10:43:17

标签: window docker-machine

我已经在Windows 10中以我的用户帐户权限创建了一个docker-machine。

By command:
C:\Users\my_name>docker-machine create -d "virtualbox" haha

但是,在通过以管理员身份运行的CMD删除它们时遇到了问题。

C:\WINDOWS\system32>docker-machine rm haha
About to remove haha
WARNING: This action will delete both local reference and remote instance.
Are you sure? (y/n): y
Error removing host "haha": C:\Program Files\Oracle\VirtualBox\VBoxManage.exe unregistervm --delete haha failed:
0%...10%...20%...
Progress state: VBOX_E_FILE_ERROR
VBoxManage.exe: error: Machine delete failed
VBoxManage.exe: error: Could not delete the medium storage unit 'C:\Users\Beetle\.docker\machine\machines\haha\disk.vmdk' (VERR_SHARING_VIOLATION)
VBoxManage.exe: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component MediumWrap, interface IMedium
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleUnregisterVM(struct HandlerArg *)" at line 165 of file VBoxManageMisc.cpp


C:\WINDOWS\system32>docker-machine ls
NAME   ACTIVE   DRIVER       STATE     URL   SWARM   DOCKER   ERRORS
haha            virtualbox   Timeout

尽管我发现这是一个权限问题,这是用户创建的计算机,Windows 10中的管理员无法删除该计算机。

如何在Windows 10中使用admin权限删除由docker-machine(具有用户权限级别)创建的计算机?

感谢您的时间。

2 个答案:

答案 0 :(得分:4)

因此,经过一番研究后,它变得更复杂了,但我们可以从杀死Docker机器开始:

$ docker-machine kill docker_machine_name

然后,一旦运行它,我们就可以执行docker-machine ls并查看其已停止:

 NAME              ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER     ERRORS 

docker_machine_name   -        virtualbox   Stopped

因此,当完成此操作时,我们实际上需要导航到docker计算机在本地计算机上的存储位置。 我们可以通过以下路径来做到这一点,因为我有Windows,所以这对于Mac和Linux用户可能有所不同,路径如下:

C:\Users\user_name\.docker\machine\machines

作为目录,我们应该看到docker_machine_name或创建的docker机器。只需删除它,它就消失了。如果我们这样做

$ docker-machine ls

我们应该看到要删除的计算机已消失。希望这会有所帮助。

答案 1 :(得分:4)

以下命令将完全删除Docker-Machine

docker-machine rm ^Machine_Name^