Docker-machine Can't Find VBoxManage

I am on the latest Docker and VirtualBox. But when I run docker-machine create --driver virtualbox myvm1 I get the following error…

Error with pre-create check: “VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path”
open /root/snap/docker/384/.docker/machine/machines/myvm1/myvm1/Logs/VBox.log: no such file or directory
notifying bugsnag: [Error with pre-create check: “VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path”]

VBoxManage is in my $PATH when I echo $PATH, and I can run VBoxManage on my own from the terminal, testing VBoxManage --version.

Help me Obi Won…

I ran it again with the --debug flag…

Docker Machine Version: 0.15.0, build b48dc28
Found binary path at /snap/docker/384/bin/docker-machine
Launching plugin server for driver virtualbox
Plugin server listening at address 127.0.0.1:38245
() Calling .GetVersion
Using API Version 1
() Calling .SetConfigRaw
() Calling .GetMachineName
(flag-lookup) Calling .GetMachineName
(flag-lookup) Calling .DriverName
(flag-lookup) Calling .GetCreateFlags
Found binary path at /snap/docker/384/bin/docker-machine
Launching plugin server for driver virtualbox
Plugin server listening at address 127.0.0.1:43265
() Calling .GetVersion
Using API Version 1
() Calling .SetConfigRaw
() Calling .GetMachineName
(myvm1) Calling .GetMachineName
(myvm1) Calling .DriverName
(myvm1) Calling .GetCreateFlags
(myvm1) Calling .SetConfigFromFlags
Reading certificate data from /root/snap/docker/384/.docker/machine/certs/ca.pem
Decoding PEM data…
Parsing certificate…
Reading certificate data from /root/snap/docker/384/.docker/machine/certs/cert.pem
Decoding PEM data…
Parsing certificate…
Running pre-create checks…
(myvm1) Calling .PreCreateCheck
(myvm1) DBG | COMMAND: VBoxManage --version
(myvm1) DBG | STDOUT:
(myvm1) DBG | {
(myvm1) DBG | }
(myvm1) DBG | STDERR:
(myvm1) DBG | {
(myvm1) DBG | }
Error with pre-create check: “VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path”
open /root/snap/docker/384/.docker/machine/machines/myvm1/myvm1/Logs/VBox.log: no such file or directory
notifying bugsnag: [Error with pre-create check: “VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path”]

I am on the latest Docker and VirtualBox. But when I run docker-machine create --driver virtualbox myvm1 I get the following error… about

Error with pre-create check: “VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path” 
open /root/snap/docker/384/.docker/machine/machines/myvm1/myvm1/Logs/VBox.log: no such file or directory
notifying bugsnag: [Error with pre-create check: “VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path”]

VBoxManage is in my $PATH when I echo $PATH, and I can run VBoxManage on my own from the terminal, testing VBoxManage --version.

Help me Obi Won…

I ran it again with the --debug flag…

Docker Machine Version: 0.15.0, build b48dc28
Found binary path at /snap/docker/384/bin/docker-machine
Launching plugin server for driver virtualbox
Plugin server listening at address 127.0.0.1:38245
() Calling .GetVersion
Using API Version 1
() Calling .SetConfigRaw
() Calling .GetMachineName
(flag-lookup) Calling .GetMachineName
(flag-lookup) Calling .DriverName
(flag-lookup) Calling .GetCreateFlags
Found binary path at /snap/docker/384/bin/docker-machine
Launching plugin server for driver virtualbox
Plugin server listening at address 127.0.0.1:43265
() Calling .GetVersion
Using API Version 1
() Calling .SetConfigRaw
() Calling .GetMachineName
(myvm1) Calling .GetMachineName
(myvm1) Calling .DriverName
(myvm1) Calling .GetCreateFlags
(myvm1) Calling .SetConfigFromFlags
Reading certificate data from /root/snap/docker/384/.docker/machine/certs/ca.pem
Decoding PEM data 
Parsing certificate…
Reading certificate data from /root/snap/docker/384/.docker/machine/certs/cert.pem
Decoding PEM data…
Parsing certificate…
Running pre-create checks…
(myvm1) Calling .PreCreateCheck
(myvm1) DBG | COMMAND: VBoxManage --version
(myvm1) DBG | STDOUT:
(myvm1) DBG | {
(myvm1) DBG | }
(myvm1) DBG | STDERR:
(myvm1) DBG | {
(myvm1) DBG | }
Error with pre-create check: “VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path”
open /root/snap/docker/384/.docker/machine/machines/myvm1/myvm1/Logs/VBox.log: no such file or directory
notifying bugsnag: [Error with pre-create check: “VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path”]

Finding the same solution.

We can solve this problem by using below command

For Mac :
brew cask install virtualbox;

For Linux :
sudo apt-get install virtualbox