docker-machine-parallels: Docker Machine is not running properly after update to macOS Catalina
After the first generation of a new machine (in my case done by “dinghy”, a reverse proxy solution) everything seems to work normal. But after stopping the machine and try to start it again, its not working anymore. The startup ends up with this error message
Unable to verify the Docker daemon is listening: Maximum number of retries (10) exceeded
Traceback (most recent call last):
9: from /usr/local/bin/_dinghy_command:12:in `<main>'
8: from /usr/local/Cellar/dinghy/4.6.5/cli/thor/lib/thor/base.rb:440:in `start'
7: from /usr/local/Cellar/dinghy/4.6.5/cli/thor/lib/thor.rb:359:in `dispatch'
6: from /usr/local/Cellar/dinghy/4.6.5/cli/thor/lib/thor/invocation.rb:126:in `invoke_command'
5: from /usr/local/Cellar/dinghy/4.6.5/cli/thor/lib/thor/command.rb:27:in `run'
4: from /usr/local/Cellar/dinghy/4.6.5/cli/cli.rb:93:in `up'
3: from /usr/local/Cellar/dinghy/4.6.5/cli/cli.rb:271:in `start_services'
2: from /usr/local/Cellar/dinghy/4.6.5/cli/dinghy/machine.rb:25:in `up'
1: from /usr/local/Cellar/dinghy/4.6.5/cli/dinghy/machine.rb:126:in `system'
/usr/local/Cellar/dinghy/4.6.5/cli/dinghy/system.rb:18:in `system': Failure calling `docker-machine start dinghy` (System::Failure)
After starting the machine with debug option I get ten times this fault, before the upper error comes up again:
(dinghy) Calling .GetSSHHostname
(dinghy) DBG | executing: /usr/local/bin/prlctl list dinghy --output status --no-header
(dinghy) DBG | executing: /usr/local/bin/prlctl list -i dinghy
(dinghy) DBG | Found lease: 10.211.55.32 for MAC: 001C4208D8F8, expiring at 1571651690, leased for 1800 s.
(dinghy) DBG |
(dinghy) DBG | Found IP lease: 10.211.55.32 for MAC address 001C4208D8F8
(dinghy) DBG |
(dinghy) Calling .GetSSHPort
(dinghy) Calling .GetSSHKeyPath
(dinghy) Calling .GetSSHKeyPath
(dinghy) Calling .GetSSHUsername
Using SSH client type: external
Using SSH private key: /Users/alex/.docker/machine/machines/dinghy/id_rsa (-rw-------)
&{[-F /dev/null -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none -o LogLevel=quiet -o PasswordAuthentication=no -o ServerAliveInterval=60 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null docker@10.211.55.32 -o IdentitiesOnly=yes -i /Users/alex/.docker/machine/machines/dinghy/id_rsa -p 22] /usr/local/bin/ssh <nil>}
About to run SSH command:
if ! type netstat 1>/dev/null; then ss -tln; else netstat -tln; fi
SSH cmd err, output: <nil>: Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
Watching the bootup sequence by opening the miniature window inside the parallel controll panel I see several errors and warning during the first bootup:
...
unable to write 'random state'
...
unable to write 'random state'
...
Device "eth1" does not exists.
...
unable to write 'random state'
...
unable to write 'random state'
Independent of this messages the machine works as expected until I stop and start it again. If I doing this, I see only one warning during the bootup inside the parallels window:
warning: unable to find partition with the swap label (boot2dockerswap) or TYPE=swap (so Docker will likely complain about swap)
- this could also mean TCL already mounted it! (see 'free' or '/proc/swaps')
I have two macs (both already updated to macOS Catalina) with exact the same problem (after updating the system).
There is also an issue I posted at the dinghy repo, but the autor means the problem stuck inside docker-machine or this parallels connector: https://github.com/codekitchen/dinghy/issues/290
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 22 (1 by maintainers)
v19.03.12, the final release of boot2docker was published today: https://github.com/boot2docker/boot2docker/releases/tag/v19.03.12
It includes the fix boot2docker/boot2docker#1403 and this issue should be solved there. I checked it on the test vm by doing
docker-machine restart
several times and it works as expected - no “Maximum number of retries (10) exceeded” errors anymore. @mediaessenz, please, verify it in your setup@romankulikov You are my HERO!!! After switching to the older image my problems are gone! Thank You very much for the energy you put into this issue!
Well, now after more investigation I tend to reference this issue down to the lack of entropy at the start of virtual machine. It is described in #https://github.com/boot2docker/boot2docker/pull/1322#issuecomment-396372707. Watching at
/var/lib/boot2docker/log/docker.log
inside virtual machine this message is printed at the start of dockerd:–dockerd hangs at the start of the system which results in
docker-machine create
command failure (and consequent certificate issues).Issue is reproduced on the recent boot2docker versions, like current 19.03.5, based on Linux kernel 4.14. Version 18.06.1 works because it is based on Linux kernel 4.9 where entropy pool state during VM boot is better.
Well, it looks like the issue is in broken IP address reporting from virtual machine. I’m investigating it.