【问题标题】:Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"预创建检查出错:“未找到 VBoxManage。确保已安装 VirtualBox,并且 VBoxManage 在路径中”
【发布时间】:2018-01-31 20:11:57
【问题描述】:

我在物理 Windows7 上的 VirtualBox 中运行 CentOS。现在在 centOS 我有 Docker,我需要运行

docker-machine create --driver virtualbox host1

但我得到错误

Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"

所以我需要在 CentOS 中再次安装 VirtualBox 吗?如果是,我该怎么做?

非常感谢

【问题讨论】:

    标签: docker centos virtualbox docker-machine


    【解决方案1】:

    是的,你完全正确。你需要先安装 VirtualBox。

    您可以通过在 CentOS 上运行 yum install virtualbox 或在 Ubuntu 上运行

    sudo apt-get install virtualbox 来做到这一点

    这样做,然后运行您的代码,一切顺利

    【讨论】:

    • "yum install virtualbox" 也适用于亚马逊 linuz 吗?
    • $ sudo yum install virtualbox 加载的插件:dkms-build-requires、priorities、update-motd、upgrade-helper amzn-main | 2.1 KB 00:00:00 amzn 更新 | 2.5 kB 00:00:00 没有可用的包 virtualbox。错误:无事可做
    • 如果我没听错,你想在 aws ec2 上安装 virtualbox?
    【解决方案2】:

    这是权限问题。您已将 docker 安装为 sudo。你需要运行

    sudo docker-machine create --driver virtualbox host1
    

    或

    sudo docker-compose up 
    

    解决这个问题。

    【讨论】:

    • sudo docker-compose up 为我工作,不必尝试第一个
    【解决方案3】:

    我在 Ubuntu 18.04 中遇到了同样的错误,但我意识到我已经使用命令安装了 docker-machine:sudo snap install docker。

    不过安装 docker-machine 使用:

    $ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && \
    chmod +x /tmp/docker-machine && \
    sudo cp /tmp/docker-machine /usr/local/bin/docker-machine
    

    检查您的安装:

    $ docker-machine version
    

    然后使用以下命令安装 virtualbox:

    $sudo apt install virtualbox
    

    现在您可以使用以下命令创建 docker-machine:

    $ docker-machine create --driver virtualbox dev
    

    希望这会有所帮助。

    【讨论】:

    • 预创建检查出错:“未找到 VBoxManage。确保已安装 VirtualBox,并且 VBoxManage 在路径中”
    【解决方案4】:

    更具体地说明在 Mac Mojavi 上安装 VirtualBox。

    1. 下载VirtualBox-6.0.6-130049-OSX.dmg后,双击安装

    2. 转到您的应用程序文件夹,您会找到如下所示的 virtualbox.pkg:

    3. 点击它完成安装。

    4. 安装完成后,您应该会在应用程序文件夹中看到 VirtualBox,如下所示:

    5. 之后,您应该刷新终端并重新运行您的命令。

      docker-machine create --driver virtualbox local-docker.
      

    【讨论】:

      【解决方案5】:

      尝试使用超级用户执行:

      sudo docker-machine create -d virtualbox myvm1
      

      【讨论】:

        【解决方案6】:

        你只需要安装 virtualbox :

        sudo apt-get install virtualbox
        
        then run this command:
        
        docker-machine create --driver virtualbox default
        

        【讨论】:

        • 预创建检查出错:“未找到 VBoxManage。确保已安装 VirtualBox,并且 VBoxManage 在路径中”
        【解决方案7】:
        1. 重新安装 virtualbox

        sudo snap remove virtualbox && sudo snap install virtualbox

        1. 重命名 VBoxManage 以匹配大小写

        sudo ln -s /usr/local/bin/VBoxManage /usr/local/bin/vboxmanage

        1. 使用以下命令重新安装 Docker Machine。
        base=https://github.com/docker/machine/releases/download/v0.16.0 &&
          curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
          sudo mv /tmp/docker-machine /usr/local/bin/docker-machine &&
          chmod +x /usr/local/bin/docker-machine
        
        1. 确认版本并将脚本保存到 /etc/bash_completion.d 或 /usr/local/etc/bash_completion.d
        base=https://raw.githubusercontent.com/docker/machine/v0.16.0
        for i in docker-machine-prompt.bash docker-machine-wrapper.bashdocker-machine.bash
        do
          sudo wget "$base/contrib/completion/bash/${i}" -P /etc/bash_completion.d
        done
        
        1. 重新运行命令。

        docker-machine create --driver virtualbox host1

        【讨论】:

          【解决方案8】:

          使用windows的用户可以以管理员身份打开powershell命令shell并运行以下命令:

          PS C:\Windows/system32> choco install virtualbox

          如果您没有 choco,可以使用以下命令安装它:

          PS C:\Windows/system32>

          Set-ExecutionPolicy Bypass -Scope Process -Force; `
                iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
          

          【讨论】:

            【解决方案9】:

            1) 重新安装 Virtualbox ...您可以使用此代码:sudo apt-get install virtualbox

            2) sudo docker-machine create --driver virtualbox default

            【讨论】:

              【解决方案10】:

              使用以下步骤安装 Docker-Swarm:

              $ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
                mkdir -p "$HOME/bin" &&
                curl -L $base/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" &&
                chmod +x "$HOME/bin/docker-machine.exe"
              

              出现错误的步骤:

              $ base=https://github.com/docker/machine/releases/download/v0.16.0
              $ mkdir -p "$HOME/bin"
              $ curl -L $base/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe"
                % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                               Dload  Upload   Total   Spent    Left  Speed
              100   623  100   623    0     0   1236      0 --:--:-- --:--:-- --:--:--  1238
              100 27.2M  100 27.2M    0     0   726k      0  0:00:38  0:00:38 --:--:--  593k
              
              $ chmod +x "$HOME/bin/docker-machine.exe"
              $ docker-machine version
              docker-machine.exe version 0.16.0, build 702c****
              $ docker-machine ls
              NAME   ACTIVE   DRIVER   STATE   URL   SWARM   DOCKER   ERRORS
              
              $ docker-machine create --driver virtualbox manager1
              Creating CA: C:\Users\*****\.docker\machine\certs\ca.pem
              Creating client certificate: C:\Users\*****\.docker\machine\certs\cert.pem
              Running pre-create checks...
              Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"
              

              分辨率:

              然后我从以下链接安装了 VM:安装 VirtualBox 下载 VirtualBox 和相应的扩展包:https://www.virtualbox.org/wiki/Downloads 使用默认设置安装 VirtualBox 将扩展包添加到 VirtualBox(文件 -> 首选项 -> 扩展)

              $ docker-machine create --driver virtualbox manager1
              Running pre-create checks...
              Error with pre-create check: "This computer is running Hyper-V. VirtualBox won't boot a 64bits VM when Hyper-V is activated. 
              Either use Hyper-V as a driver, or disable the Hyper-V hypervisor. (To skip this check, use --virtualbox-no-vtx-check)"
              

              然后最终使用以下命令创建:

              $ docker-machine create --driver virtualbox  --virtualbox-no-vtx-check manager1
              Running pre-create checks...
              (manager1) Image cache directory does not exist, creating it at C:\Users\****\.docker\machine\cache...
              (manager1) No default Boot2Docker ISO found locally, downloading the latest release...
              (manager1) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
              
              (manager1) Creating VirtualBox VM...
              (manager1) Creating SSH key...
              (manager1) Starting the VM...
              

              【讨论】:

                【解决方案11】:

                另外,如果你在虚拟机上安装了 virtualbox 和 vboxmanage,但仍然出现同样的错误:

                确保您的用户在 docker 组中。否则,您以 root 身份运行 docker,以用户身份运行 vbox,他们无法看到彼此。表明您不在该组中的迹象是您必须使用 sudo docker 命令,例如:

                sudo docker images
                

                要修复,请执行以下操作:

                sudo groupadd docker
                sudo gpasswd -a <your-username> docker
                

                现在检查是否添加了用户:

                getent group docker
                

                或:

                grep /etc/group -e "docker"
                

                同时重启 docker 守护进程:

                sudo service docker restart 
                

                退出并重新进入终端(如果这不起作用,请尝试重新启动系统),您应该能够在没有 sudo 的情况下运行 docker,例如:

                docker images
                

                docker machine 和 docker-compose 现在也应该运行了。

                更多信息,请参考这个答案:Can't connect to docker from docker-compose

                【讨论】:

                  猜你喜欢
                  • 2018-03-11
                  • 1970-01-01
                  • 1970-01-01
                  • 2021-02-20
                  • 2020-05-14
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多