I have a Macbook Pro 2010
I have a problem running Docker, it says
Incompatible CPU detected Docker requires a processor with virtualization capabilities. "
Processor in there is Core 2 Duo P8600 2.4GHz
While it supports VT-x, I am guessing perhaps it doesn't support some later virtualization capabilities because this later CPU, the i5 760, launched Q3'10 (not in my laptop), https://ark.intel.com/products/48496/Intel-Core-i5-760-Processor-8M-Cache-2_80-GHz has a newer page that has some other things listed related to virtualization For example the i5 mentions "Intel® Virtualization Technology for Directed I/O (VT-d):No" and "Intel® VT-x with Extended Page Tables (EPT):yes". For my processor(the core2duo P8600), the page is a bit older in design, as the CPU was launched Q3'08 while it says I have VT-x it doesn't say yes or no as to whether I have EPT or VT-d .
Though perhaps VT-d is irrelevant.
I notice https://developer.apple.com/documentation/hypervisor mentions
"Generally, machines with an Intel VT-x feature set that includes Extended Page Tables (EPT) and Unrestricted Mode are supported. You can determine the availability of Hypervisor APIs on a particular machine at runtime with the sysctl(8) command, passing kern.hv_support as an argument."
I have read that there are two issues here that may or may not be connected.
The CPU may indeed not support virtualization, and I read here https://forums.docker.com/t/fatal-error-incompatible-cpu-detected/9162/6 that the way to check is to run the command
$ sysctl kern.hv_support<ENTER>and if the result is
then it's fine, and if the result iskern.hv_support: 0` then it's not fine.
It's possible to have a CPU that supports virtualization but that there is something in a MAC that is like a BIOS or like a UEFI.. that commonly disables virtualization. I read somewhere(don't recall where, and it may be wrong), that all Macbook Pro 2010s have a CPU that supports virtaualization and it's purely this issue that it needs to be enabled.
I found a solution mentioned here
One method it says is temporary which is to go into sleep mode then wake out of it. For me that doesn't work.
The other method it lists, to "Set EFI VT-X Register bit"
I tried it but am running into an issue. It lists 33 steps.. To summarise as far as I got.
Download rEFIt disk image, mount it, you see an efi folder, copy it to root, copy vmx folder in the dreamcat5/efi-enable-vtx git repository into /efi, run
cd /efi/refit run
./enable.sh That runs a sudo command. In my case it didn't prompt for a password perhaps cos I had already run a command with sudo. Restarted it holding ALT as it started up. Reached step 12 which is "Select rEFIt boot device to enter rEFIt menu." But then I don't get the rEFit menu. So I can't continue with steps like "In rEFIt menu, select Console."
Do I need to upgrade my CPU? And if so, where can I see a list of Core 2 Duos that meet the virtualization requirements? (Since clearly my CPU supports VT-x), but perhaps it doesn't meet the requirements.
I understand that another option is to install an earlier version of Docker that uses the docker toolbox. i'm not sure to what extent that is a disadvantage, but it's also something i'm considering. But i'd like to see if I can use the latest version of docker.
Clicking the diagnose and feedback button
Docker for Mac: version: 17.12.0-ce-mac49 (d1778b704353fa5b79142a2055a2c11c8b48a653) macOS: version 10.12.6 (build: 16G29) logs: /tmp/5FE6B0F8-0B3C-4C7A-A5CB-24B1A5AD4D4C/20180210-135141.tar.gz failure: sysctl -a reports no hypervisor support [OK] db.git [ERROR] vmnetd /var/tmp/com.docker.vmnetd.socket does not exist Unexpected error (No such file or directory) connecting to /var/tmp/com.docker.vmnetd.socket /private/tmp/vmnetd/com.docker.vmnetd is not running [OK] dns [ERROR] driver.amd64-linux com.docker.driver.amd64-linux is not running [OK] virtualization VT-X [OK] app [ERROR] moby /Users/apple/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/console-ring does not exist [OK] system [OK] moby-syslog [OK] kubernetes [OK] env [ERROR] virtualization kern.hv_support sysctl -a reports no hypervisor support [ERROR] slirp Unexpected error ((Failure "Error connecting socket to 9p endpoint unix:/Users/apple/Library/Containers/com.docker.docker/Data/s51: Unix.Unix_error(Unix.ENOENT, \"connect\", \"\")")) connecting to /Users/apple/Library/Containers/com.docker.docker/Data/s51 com.docker.vpnkit is not running slirp check failed with: Unix.Unix_error(Unix.ENOENT, "connect", "") [ERROR] osxfs com.docker.osxfs is not running [OK] moby-console [OK] logs [ERROR] docker-cli cannot find docker /var/run/docker.sock does not exist Unexpected error (No such file or directory) connecting to /var/run/docker.sock /Users/apple/Library/Containers/com.docker.docker/Data/s60 does not exist Unexpected error (No such file or directory) connecting to /Users/apple/Library/Containers/com.docker.docker/Data/s60 docker ps failed [OK] menubar [ERROR] disk No Docker.qcow2 or Docker.raw found: the VM has never been started
I see there is a github.com/docker/for-mac/issues link mentioned in that docker screen after clicking diagnose&feedback, then clicking diagnose or diagnose and upload. I've asked there and will update.