Minishift-无法启动-启动VM时出错:获取主机状态时出错:计算机不存在

时间:2018-08-07 18:57:33

标签: docker openshift minishift

我在Windows 10 Home,Oracle Virtualbox,扩展包,Docker工具箱和Minishift的环境中本地运行Docker应用程序。

几个月后重新启动,出现各种错误。当我重新运行minishift时,我得到一堆“ OK”,最后得到以下消息:

  

启动Minishift VM ....失败E0807 20:29:20.950373 672   start.go:428]启动VM时出错:获取主机状态时出错:   机器不存在。重试。

命令是:$ minishift start --vm-driver = virtualbox --memory = 3G

首先,我通过Docker Quickstart终端启动docker。因为我可以使用docker(和openshift),所以我知道环境是正确的。

如何让minishift再次运行?

7 个答案:

答案 0 :(得分:1)

Minishift配置中可能包含错误的数据。原因可能有很多,例如,一个原因是通过VirtualBox GUI删除了VM,因此Minishift包含有关VM的数据不存在。在启动过程中,Minishift会询问虚拟机的状态,但是VirtualBox无法提供有关它的任何信息,因为它不存在。在这种情况下,我的工作流程是:

  1. 使用管理程序删除虚拟机(如果有)-例如VirtualBox GUI或KVM的virsh命令,
  2. 删除Minishift主目录,对于Windows,位于%userprofile%\.minishift,对于Unix系统,位于~/.minishift
  3. 尝试启动Minishift。

请注意,这是解决问题的相当破坏性的方法,如果您在VM上拥有有价值的数据,则可以考虑采用更温和的方法。

答案 1 :(得分:1)

使用以下命令进行清理:

minishift delete --clear-cache

重新启动minishift将重新创建所有必要的内容。

答案 2 :(得分:1)

我有同样的问题。首先清理minishift缓存:

minishift delete --clear-cache

然后从其文件夹启动minishift(不要使用路径env)。就我而言:

d:\progs\minishift-1.34.2-windows-amd64\minishift start --vm-driver virtualbox

答案 3 :(得分:0)

尝试在Hyper-V Administrator中启动虚拟机。 我的错误是minishift后备4Gb内存,而我的系统还不够。 右键单击您的minishift虚拟机,进行配置,然后获取保留的内存。

答案 4 :(得分:0)

如果在应用虚拟交换机时被卡住(clf = GridSearchCV(SavgolPLS(), parameters, cv = 10)不起作用),请键入以下内容以停用minishift delete --clear-cache中设置的任何内容

minishift config view

然后继续您的开始:例如minishift config set save-start-flags false

答案 5 :(得分:0)

我有同样的问题。 我的ubuntu机器在Windows 10主机中作为VM运行。 以下内容不起作用,因为默认情况下,以访客身份运行的计算机中不允许嵌套虚拟化。

minishift delete --clear-cache

在vm设置中启用虚拟化引擎后,我能够启动minishift(清除课程缓存后) VM settings - enable virtualization engine

答案 6 :(得分:0)

我在尝试针对现有 VM 运行 minishift 时遇到了这个问题

使用第一个虚拟机,删除然后尝试使用新的虚拟机,一直遇到这个问题,即使第一次工作也无法启动集群。

不得不删除整个 ~/.minishift 文件夹,然后它开始没有问题var fs = require('fs'); var path = require('path'); var server = require('http').createServer(onRequest); var io = require('socket.io')(server); var SSHClient = require('ssh2').Client; // Load static files into memory var staticFiles = {}; var basePath = path.join(require.resolve('xterm'), '..'); staticFiles['/xterm.css'] = fs.readFileSync(path.join(basePath, '../css/xterm.css')); staticFiles['/xterm.js'] = fs.readFileSync(path.join(basePath, 'xterm.js')); basePath = path.join(require.resolve('xterm-addon-fit'), '..'); staticFiles['/xterm-addon-fit.js'] = fs.readFileSync(path.join(basePath, 'xterm-addon-fit.js')); staticFiles['/'] = fs.readFileSync('index.html'); // Handle static file serving function onRequest(req, res) { var file; if (req.method === 'GET' && (file = staticFiles[req.url])) { res.writeHead(200, { 'Content-Type': 'text/' + (/css$/.test(req.url) ? 'css' : (/js$/.test(req.url) ? 'javascript' : 'html')) }); return res.end(file); } res.writeHead(404); res.end(); } io.on('connection', function(socket) { var conn = new SSHClient(); conn.on('ready', function() { socket.emit('data', '\r\n*** SSH CONNECTION ESTABLISHED ***\r\n'); conn.shell(function(err, stream) { if (err) return socket.emit('data', '\r\n*** SSH SHELL ERROR: ' + err.message + ' ***\r\n'); socket.on('data', function(data) { stream.write(data); }); stream.on('data', function(d) { socket.emit('data', d.toString('binary')); }).on('close', function() { conn.end(); }); }); }).on('close', function() { socket.emit('data', '\r\n*** SSH CONNECTION CLOSED ***\r\n'); }).on('error', function(err) { socket.emit('data', '\r\n*** SSH CONNECTION ERROR: ' + err.message + ' ***\r\n'); }).connect({ host: '192.168.560.1', port: 22, username: 'USER', password: 'anything' }); }); let port = 8000; console.log('Listening on port', port) server.listen(port);