Closed gffhcks closed 9 years ago
Could you try the following:
docker-machine rm -f default
rm -fv ~/.docker/machine
docker-machine -D create -d virtualbox default
I'm running into what seems to be the same issues on Mac OS X 10.10.5, and VirtualBox 5.0.0 r101573. I was able to ssh into one machine at one point, and wanted to install vim (which was missing). It then returned the error apt-get: command not found
(or words to that effect). Seems like the default docker settings are resulting in an incomplete VM for some reason, and then the starting vm hangs because commands are missing.
Running the commands from the post above did not fix the issue. Perhaps there's an incompatibility with the newest version of VirtualBox? I had a few similar issues with vagrant the other day too.
is virtualbox 5.0.0 bug! upgrade virtualbox 5.0.4 ! http://download.virtualbox.org/virtualbox/5.0.4/VirtualBox-5.0.4-102546-OSX.dmg
Upgrading from 5.0.0. to 5.0.4 resolved this exact issue for me. Thanks!
Tried installing again today from scratch. On OSX version 10.10.5, MacBook Pro Retina Mid 2012
docker-machine -D create -d virtualbox default
Looks to be the same result:
21827 08:14:22 ~$ docker-machine -D create -d virtualbox default
Creating CA: /Users/ghicks/.docker/machine/certs/ca.pem
Creating client certificate: /Users/ghicks/.docker/machine/certs/cert.pem
executing: /usr/local/bin/VBoxManage
STDOUT: Oracle VM VirtualBox Command Line Management Interface Version 5.0.4
(C) 2005-2015 Oracle Corporation
All rights reserved.
Usage:
VBoxManage [<general option>] <command>
General Options:
[-v|--version] print version number and exit
[-q|--nologo] suppress the logo
[--settingspw <pw>] provide the settings password
[--settingspwfile <file>] provide a file containing the settings password
Commands:
list [--long|-l] vms|runningvms|ostypes|hostdvds|hostfloppies|
intnets|bridgedifs|hostonlyifs|natnets|dhcpservers|
hostinfo|hostcpuids|hddbackends|hdds|dvds|floppies|
usbhost|usbfilters|systemproperties|extpacks|
groups|webcams|screenshotformats
showvminfo <uuid|vmname> [--details]
[--machinereadable]
showvminfo <uuid|vmname> --log <idx>
registervm <filename>
unregistervm <uuid|vmname> [--delete]
createvm --name <name>
[--groups <group>, ...]
[--ostype <ostype>]
[--register]
[--basefolder <path>]
[--uuid <uuid>]
modifyvm <uuid|vmname>
[--name <name>]
[--groups <group>, ...]
[--description <desc>]
[--ostype <ostype>]
[--iconfile <filename>]
[--memory <memorysize in MB>]
[--pagefusion on|off]
[--vram <vramsize in MB>]
[--acpi on|off]
[--pciattach 03:04.0]
[--pciattach 03:04.0@02:01.0]
[--pcidetach 03:04.0]
[--ioapic on|off]
[--hpet on|off]
[--triplefaultreset on|off]
[--paravirtprovider none|default|legacy|minimal|
hyperv|kvm]
[--hwvirtex on|off]
[--nestedpaging on|off]
[--largepages on|off]
[--vtxvpid on|off]
[--vtxux on|off]
[--pae on|off]
[--longmode on|off]
[--cpuid-portability-level <0..3>
[--cpuidset <leaf> <eax> <ebx> <ecx> <edx>]
[--cpuidremove <leaf>]
[--cpuidremoveall]
[--hardwareuuid <uuid>]
[--cpus <number>]
[--cpuhotplug on|off]
[--plugcpu <id>]
[--unplugcpu <id>]
[--cpuexecutioncap <1-100>]
[--rtcuseutc on|off]
[--graphicscontroller none|vboxvga|vmsvga]
[--monitorcount <number>]
[--accelerate3d on|off]
[--accelerate2dvideo on|off]
[--firmware bios|efi|efi32|efi64]
[--chipset ich9|piix3]
[--bioslogofadein on|off]
[--bioslogofadeout on|off]
[--bioslogodisplaytime <msec>]
[--bioslogoimagepath <imagepath>]
[--biosbootmenu disabled|menuonly|messageandmenu]
[--biossystemtimeoffset <msec>]
[--biospxedebug on|off]
[--boot<1-4> none|floppy|dvd|disk|net>]
[--nic<1-N> none|null|nat|bridged|intnet|hostonly|
generic|natnetwork]
[--nictype<1-N> Am79C970A|Am79C973|
82540EM|82543GC|82545EM|
virtio]
[--cableconnected<1-N> on|off]
[--nictrace<1-N> on|off]
[--nictracefile<1-N> <filename>]
[--nicproperty<1-N> name=[value]]
[--nicspeed<1-N> <kbps>]
[--nicbootprio<1-N> <priority>]
[--nicpromisc<1-N> deny|allow-vms|allow-all]
[--nicbandwidthgroup<1-N> none|<name>]
[--bridgeadapter<1-N> none|<devicename>]
[--hostonlyadapter<1-N> none|<devicename>]
[--intnet<1-N> <network name>]
[--nat-network<1-N> <network name>]
[--nicgenericdrv<1-N> <driver>
[--natnet<1-N> <network>|default]
[--natsettings<1-N> [<mtu>],[<socksnd>],
[<sockrcv>],[<tcpsnd>],
[<tcprcv>]]
[--natpf<1-N> [<rulename>],tcp|udp,[<hostip>],
<hostport>,[<guestip>],<guestport>]
[--natpf<1-N> delete <rulename>]
[--nattftpprefix<1-N> <prefix>]
[--nattftpfile<1-N> <file>]
[--nattftpserver<1-N> <ip>]
[--natbindip<1-N> <ip>
[--natdnspassdomain<1-N> on|off]
[--natdnsproxy<1-N> on|off]
[--natdnshostresolver<1-N> on|off]
[--nataliasmode<1-N> default|[log],[proxyonly],
[sameports]]
[--macaddress<1-N> auto|<mac>]
[--mouse ps2|usb|usbtablet|usbmultitouch]
[--keyboard ps2|usb
[--uart<1-N> off|<I/O base> <IRQ>]
[--uartmode<1-N> disconnected|
server <pipe>|
client <pipe>|
tcpserver <port>|
tcpclient <hostname:port>|
file <file>|
<devicename>]
[--guestmemoryballoon <balloonsize in MB>]
[--audio none|null|coreaudio]
[--audiocontroller ac97|hda|sb16]
[--audiocodec stac9700|ad1980|stac9221|sb16]
[--clipboard disabled|hosttoguest|guesttohost|
bidirectional]
[--draganddrop disabled|hosttoguest]
[--vrde on|off]
[--vrdeextpack default|<name>
[--vrdeproperty <name=[value]>]
[--vrdeport <hostport>]
[--vrdeaddress <hostip>]
[--vrdeauthtype null|external|guest]
[--vrdeauthlibrary default|<name>
[--vrdemulticon on|off]
[--vrdereusecon on|off]
[--vrdevideochannel on|off]
[--vrdevideochannelquality <percent>]
[--usb on|off]
[--usbehci on|off]
[--usbxhci on|off]
[--usbrename <oldname> <newname>]
[--snapshotfolder default|<path>]
[--teleporter on|off]
[--teleporterport <port>]
[--teleporteraddress <address|empty>
[--teleporterpassword <password>]
[--teleporterpasswordfile <file>|stdin]
[--tracing-enabled on|off]
[--tracing-config <config-string>]
[--tracing-allow-vm-access on|off]
[--usbcardreader on|off]
[--autostart-enabled on|off]
[--autostart-delay <seconds>]
[--videocap on|off]
[--videocapscreens all|<screen ID> [<screen ID> ...]]
[--videocapfile <filename>]
[--videocapres <width> <height>]
[--videocaprate <rate>]
[--videocapfps <fps>]
[--videocapmaxtime <ms>]
[--videocapmaxsize <MB>]
[--videocapopts <key=value> [<key=value> ...]]
[--defaultfrontend default|<name>]
clonevm <uuid|vmname>
[--snapshot <uuid>|<name>]
[--mode machine|machineandchildren|all]
[--options link|keepallmacs|keepnatmacs|
keepdisknames]
[--name <name>]
[--groups <group>, ...]
[--basefolder <basefolder>]
[--uuid <uuid>]
[--register]
import <ovfname/ovaname>
[--dry-run|-n]
[--options keepallmacs|keepnatmacs|importtovdi]
[more options]
(run with -n to have options displayed
for a particular OVF)
export <machines> --output|-o <name>.<ovf/ova>
[--legacy09|--ovf09|--ovf10|--ovf20]
[--manifest]
[--iso]
[--options manifest|iso|nomacs|nomacsbutnat]
[--vsys <number of virtual system>]
[--product <product name>]
[--producturl <product url>]
[--vendor <vendor name>]
[--vendorurl <vendor url>]
[--version <version info>]
[--description <description info>]
[--eula <license text>]
[--eulafile <filename>]
startvm <uuid|vmname>...
[--type gui|headless|separate]
controlvm <uuid|vmname>
pause|resume|reset|poweroff|savestate|
acpipowerbutton|acpisleepbutton|
keyboardputscancode <hex> [<hex> ...]|
setlinkstate<1-N> on|off |
nic<1-N> null|nat|bridged|intnet|hostonly|generic|
natnetwork [<devicename>] |
nictrace<1-N> on|off |
nictracefile<1-N> <filename> |
nicproperty<1-N> name=[value] |
nicpromisc<1-N> deny|allow-vms|allow-all |
natpf<1-N> [<rulename>],tcp|udp,[<hostip>],
<hostport>,[<guestip>],<guestport> |
natpf<1-N> delete <rulename> |
guestmemoryballoon <balloonsize in MB> |
usbattach <uuid>|<address>
[--capturefile <filename>] |
usbdetach <uuid>|<address> |
clipboard disabled|hosttoguest|guesttohost|
bidirectional |
draganddrop disabled|hosttoguest |
vrde on|off |
vrdeport <port> |
vrdeproperty <name=[value]> |
vrdevideochannelquality <percent> |
setvideomodehint <xres> <yres> <bpp>
[[<display>] [<enabled:yes|no> |
[<xorigin> <yorigin>]]] |
screenshotpng <file> [display] |
videocap on|off |
videocapscreens all|none|<screen>,[<screen>...] |
videocapfile <file>
videocapres <width>x<height>
videocaprate <rate>
videocapfps <fps>
videocapmaxtime <ms>
videocapmaxsize <MB>
setcredentials <username>
--passwordfile <file> | <password>
<domain>
[--allowlocallogon <yes|no>] |
teleport --host <name> --port <port>
[--maxdowntime <msec>]
[--passwordfile <file> |
--password <password>] |
plugcpu <id> |
unplugcpu <id> |
cpuexecutioncap <1-100>
webcam <attach [path [settings]]> | <detach [path]> | <list>
addencpassword <id>
<password file>|-
[--removeonsuspend <yes|no>]
removeencpassword <id>
removeallencpasswords
discardstate <uuid|vmname>
adoptstate <uuid|vmname> <state_file>
snapshot <uuid|vmname>
take <name> [--description <desc>] [--live]
[--uniquename Number,Timestamp,Space,Force] |
delete <uuid|snapname> |
restore <uuid|snapname> |
restorecurrent |
edit <uuid|snapname>|--current
[--name <name>]
[--description <desc>] |
list [--details|--machinereadable]
showvminfo <uuid|snapname>
closemedium [disk|dvd|floppy] <uuid|filename>
[--delete]
storageattach <uuid|vmname>
--storagectl <name>
[--port <number>]
[--device <number>]
[--type dvddrive|hdd|fdd]
[--medium none|emptydrive|additions|
<uuid|filename>|host:<drive>|iscsi]
[--mtype normal|writethrough|immutable|shareable|
readonly|multiattach]
[--comment <text>]
[--setuuid <uuid>]
[--setparentuuid <uuid>]
[--passthrough on|off]
[--tempeject on|off]
[--nonrotational on|off]
[--discard on|off]
[--hotpluggable on|off]
[--bandwidthgroup <name>]
[--forceunmount]
[--server <name>|<ip>]
[--target <target>]
[--tport <port>]
[--lun <lun>]
[--encodedlun <lun>]
[--username <username>]
[--password <password>]
[--initiator <initiator>]
[--intnet]
storagectl <uuid|vmname>
--name <name>
[--add ide|sata|scsi|floppy|sas]
[--controller LSILogic|LSILogicSAS|BusLogic|
IntelAHCI|PIIX3|PIIX4|ICH6|I82078]
[--portcount <1-n>]
[--hostiocache on|off]
[--bootable on|off]
[--rename <name>]
[--remove]
bandwidthctl <uuid|vmname>
add <name> --type disk|network
--limit <megabytes per second>[k|m|g|K|M|G] |
set <name>
--limit <megabytes per second>[k|m|g|K|M|G] |
remove <name> |
list [--machinereadable]
(limit units: k=kilobit, m=megabit, g=gigabit,
K=kilobyte, M=megabyte, G=gigabyte)
showmediuminfo [disk|dvd|floppy] <uuid|filename>
createmedium [disk|dvd|floppy] --filename <filename>
[--size <megabytes>|--sizebyte <bytes>]
[--diffparent <uuid>|<filename>
[--format VDI|VMDK|VHD] (default: VDI)
[--variant Standard,Fixed,Split2G,Stream,ESX]
modifymedium [disk|dvd|floppy] <uuid|filename>
[--type normal|writethrough|immutable|shareable|
readonly|multiattach]
[--autoreset on|off]
[--property <name=[value]>]
[--compact]
[--resize <megabytes>|--resizebyte <bytes>]
clonemedium [disk|dvd|floppy] <uuid|inputfile> <uuid|outputfile>
[--format VDI|VMDK|VHD|RAW|<other>]
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--existing]
mediumproperty [disk|dvd|floppy] set <uuid|filename>
<property> <value>
[disk|dvd|floppy] get <uuid|filename>
<property>
[disk|dvd|floppy] delete <uuid|filename>
<property>
encryptmedium <uuid|filename>
[--newpassword <file>|-]
[--oldpassword <file>|-]
[--cipher <cipher identifier>]
[--newpasswordid <password identifier>]
checkmediumpwd <uuid|filename>
<pwd file>|-
convertfromraw <filename> <outputfile>
[--format VDI|VMDK|VHD]
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--uuid <uuid>]
convertfromraw stdin <outputfile> <bytes>
[--format VDI|VMDK|VHD]
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--uuid <uuid>]
getextradata global|<uuid|vmname>
<key>|enumerate
setextradata global|<uuid|vmname>
<key>
[<value>] (no value deletes key)
setproperty machinefolder default|<folder> |
hwvirtexclusive on|off |
vrdeauthlibrary default|<library> |
websrvauthlibrary default|null|<library> |
vrdeextpack null|<library> |
autostartdbpath null|<folder> |
loghistorycount <value>
defaultfrontend default|<name>
logginglevel <log setting>
usbfilter add <index,0-N>
--target <uuid|vmname>|global
--name <string>
--action ignore|hold (global filters only)
[--active yes|no] (yes)
[--vendorid <XXXX>] (null)
[--productid <XXXX>] (null)
[--revision <IIFF>] (null)
[--manufacturer <string>] (null)
[--product <string>] (null)
[--remote yes|no] (null, VM filters only)
[--serialnumber <string>] (null)
[--maskedinterfaces <XXXXXXXX>]
usbfilter modify <index,0-N>
--target <uuid|vmname>|global
[--name <string>]
[--action ignore|hold] (global filters only)
[--active yes|no]
[--vendorid <XXXX>|""]
[--productid <XXXX>|""]
[--revision <IIFF>|""]
[--manufacturer <string>|""]
[--product <string>|""]
[--remote yes|no] (null, VM filters only)
[--serialnumber <string>|""]
[--maskedinterfaces <XXXXXXXX>]
usbfilter remove <index,0-N>
--target <uuid|vmname>|global
sharedfolder add <uuid|vmname>
--name <name> --hostpath <hostpath>
[--transient] [--readonly] [--automount]
sharedfolder remove <uuid|vmname>
--name <name> [--transient]
guestproperty get <uuid|vmname>
<property> [--verbose]
guestproperty set <uuid|vmname>
<property> [<value> [--flags <flags>]]
guestproperty delete|unset <uuid|vmname>
<property>
guestproperty enumerate <uuid|vmname>
[--patterns <patterns>]
guestproperty wait <uuid|vmname> <patterns>
[--timeout <msec>] [--fail-on-timeout]
guestcontrol <uuid|vmname> [--verbose|-v] [--quiet|-q]
[--username <name>] [--domain <domain>]
[--passwordfile <file> | --password <password>]
run [common-options]
[--exe <path to executable>] [--timeout <msec>]
[-E|--putenv <NAME>[=<VALUE>]] [--unquoted-args]
[--ignore-operhaned-processes] [--no-profile]
[--no-wait-stdout|--wait-stdout]
[--no-wait-stderr|--wait-stderr]
[--dos2unix] [--unix2dos]
-- <program/arg0> [argument1] ... [argumentN]]
start [common-options]
[--exe <path to executable>] [--timeout <msec>]
[-E|--putenv <NAME>[=<VALUE>]] [--unquoted-args]
[--ignore-operhaned-processes] [--no-profile]
-- <program/arg0> [argument1] ... [argumentN]]
copyfrom [common-options]
[--dryrun] [--follow] [-R|--recursive]
<guest-src0> [guest-src1 [...]] <host-dst>
copyfrom [common-options]
[--dryrun] [--follow] [-R|--recursive]
[--target-directory <host-dst-dir>]
<guest-src0> [guest-src1 [...]]
copyto [common-options]
[--dryrun] [--follow] [-R|--recursive]
<host-src0> [host-src1 [...]] <guest-dst>
copyto [common-options]
[--dryrun] [--follow] [-R|--recursive]
[--target-directory <guest-dst>]
<host-src0> [host-src1 [...]]
mkdir|createdir[ectory] [common-options]
[--parents] [--mode <mode>]
<guest directory> [...]
rmdir|removedir[ectory] [common-options]
[-R|--recursive]
<guest directory> [...]
removefile|rm [common-options] [-f|--force]
<guest file> [...]
mv|move|ren[ame] [common-options]
<source> [source1 [...]] <dest>
mktemp|createtemp[orary] [common-options]
[--secure] [--mode <mode>] [--tmpdir <directory>]
<template>
stat [common-options]
<file> [...]
guestcontrol <uuid|vmname> [--verbose|-v] [--quiet|-q]
list <all|sessions|processes|files> [common-opts]
closeprocess [common-options]
< --session-id <ID>
| --session-name <name or pattern>
<PID1> [PID1 [...]]
closesession [common-options]
< --all | --session-id <ID>
| --session-name <name or pattern> >
updatega|updateguestadditions|updateadditions
[--source <guest additions .ISO>]
[--wait-start] [common-options]
[-- [<argument1>] ... [<argumentN>]]
watch [common-options]
debugvm <uuid|vmname>
dumpguestcore --filename <name> |
info <item> [args] |
injectnmi |
log [--release|--debug] <settings> ...|
logdest [--release|--debug] <settings> ...|
logflags [--release|--debug] <settings> ...|
osdetect |
osinfo |
osdmesg [--lines|-n <N>] |
getregisters [--cpu <id>] <reg>|all ... |
setregisters [--cpu <id>] <reg>=<value> ... |
show [--human-readable|--sh-export|--sh-eval|
--cmd-set]
<logdbg-settings|logrel-settings>
[[opt] what ...] |
statistics [--reset] [--pattern <pattern>]
[--descriptions]
metrics list [*|host|<vmname> [<metric_list>]]
(comma-separated)
metrics setup
[--period <seconds>] (default: 1)
[--samples <count>] (default: 1)
[--list]
[*|host|<vmname> [<metric_list>]]
metrics query [*|host|<vmname> [<metric_list>]]
metrics enable
[--list]
[*|host|<vmname> [<metric_list>]]
metrics disable
[--list]
[*|host|<vmname> [<metric_list>]]
metrics collect
[--period <seconds>] (default: 1)
[--samples <count>] (default: 1)
[--list]
[--detach]
[*|host|<vmname> [<metric_list>]]
natnetwork add --netname <name>
--network <network>
[--enable|--disable]
[--dhcp on|off]
[--port-forward-4 <rule>]
[--loopback-4 <rule>]
[--ipv6 on|off]
[--port-forward-6 <rule>]
[--loopback-6 <rule>]
natnetwork remove --netname <name>
natnetwork modify --netname <name>
[--network <network>]
[--enable|--disable]
[--dhcp on|off]
[--port-forward-4 <rule>]
[--loopback-4 <rule>]
[--ipv6 on|off]
[--port-forward-6 <rule>]
[--loopback-6 <rule>]
natnetwork start --netname <name>
natnetwork stop --netname <name>
hostonlyif ipconfig <name>
[--dhcp |
--ip<ipv4> [--netmask<ipv4> (def: 255.255.255.0)] |
--ipv6<ipv6> [--netmasklengthv6<length> (def: 64)]]
create |
remove <name>
dhcpserver add|modify --netname <network_name> |
--ifname <hostonly_if_name>
[--ip <ip_address>
--netmask <network_mask>
--lowerip <lower_ip>
--upperip <upper_ip>]
[--enable | --disable]
dhcpserver remove --netname <network_name> |
--ifname <hostonly_if_name>
Introspection and guest debugging:
VBoxManage debugvm <uuid|vmname> dumpvmcore [--filename=name]
VBoxManage debugvm <uuid|vmname> info <item> [args...]
VBoxManage debugvm <uuid|vmname> injectnmi
VBoxManage debugvm <uuid|vmname> log [[--release] | [--debug]]
[group-settings...]
VBoxManage debugvm <uuid|vmname> logdest [[--release] | [--debug]]
[destinations...]
VBoxManage debugvm <uuid|vmname> logflags [[--release] | [--debug]] [flags...]
VBoxManage debugvm <uuid|vmname> osdetect
VBoxManage debugvm <uuid|vmname> osinfo
VBoxManage debugvm <uuid|vmname> osdmesg [--lines=lines]
VBoxManage debugvm <uuid|vmname> getregisters [--cpu=id] [reg-set.reg-name...]
VBoxManage debugvm <uuid|vmname> setregisters [--cpu=id]
[reg-set.reg-name=value...]
VBoxManage debugvm <uuid|vmname> show [[--human-readable] | [--sh-export] |
[--sh-eval] | [--cmd-set]] [settings-item...]
VBoxManage debugvm <uuid|vmname> statistics [--reset] [--descriptions]
[--pattern=pattern]
Extension package management:
VBoxManage extpack install [--replace] <tarball>
VBoxManage extpack uninstall [--force] <name>
VBoxManage extpack cleanup
STDERR:
Creating VirtualBox VM...
Creating SSH key...
Creating disk image...
Creating 20000 MB hard disk image...
Converting from raw image file="stdin" to file="/Users/ghicks/.docker/machine/machines/default/disk.vmdk"...
Creating dynamic image with size 20971520000 bytes (20000MB)...
executing: /usr/local/bin/VBoxManage createvm --basefolder /Users/ghicks/.docker/machine/machines/default --name default --register
STDOUT: Virtual machine 'default' is created and registered.
UUID: f2643e6a-d996-46e1-9b83-572abac2134f
Settings file: '/Users/ghicks/.docker/machine/machines/default/default/default.vbox'
STDERR:
VM CPUS: 1
VM Memory: 1024
executing: /usr/local/bin/VBoxManage modifyvm default --firmware bios --bioslogofadein off --bioslogofadeout off --bioslogodisplaytime 0 --biosbootmenu disabled --ostype Linux26_64 --cpus 1 --memory 1024 --acpi on --ioapic on --rtcuseutc on --natdnshostresolver1 off --natdnsproxy1 off --cpuhotplug off --pae on --hpet on --hwvirtex on --nestedpaging on --largepages on --vtxvpid on --accelerate3d off --boot1 dvd
STDOUT:
STDERR:
executing: /usr/local/bin/VBoxManage modifyvm default --nic1 nat --nictype1 82540EM --cableconnected1 on
STDOUT:
STDERR:
using 192.168.99.1 for dhcp address
executing: /usr/local/bin/VBoxManage list hostonlyifs
STDOUT: Name: vboxnet0
GUID: 786f6276-656e-4074-8000-0a0027000000
DHCP: Disabled
IPAddress: 10.200.2.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:00
MediumType: Ethernet
Status: Down
VBoxNetworkName: HostInterfaceNetworking-vboxnet0
Name: vboxnet1
GUID: 786f6276-656e-4174-8000-0a0027000001
DHCP: Disabled
IPAddress: 10.200.250.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:01
MediumType: Ethernet
Status: Down
VBoxNetworkName: HostInterfaceNetworking-vboxnet1
Name: vboxnet2
GUID: 786f6276-656e-4274-8000-0a0027000002
DHCP: Disabled
IPAddress: 10.200.0.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:02
MediumType: Ethernet
Status: Down
VBoxNetworkName: HostInterfaceNetworking-vboxnet2
Name: vboxnet3
GUID: 786f6276-656e-4374-8000-0a0027000003
DHCP: Disabled
IPAddress: 192.168.59.3
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:03
MediumType: Ethernet
Status: Down
VBoxNetworkName: HostInterfaceNetworking-vboxnet3
Name: vboxnet4
GUID: 786f6276-656e-4474-8000-0a0027000004
DHCP: Disabled
IPAddress: 192.168.99.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:04
MediumType: Ethernet
Status: Down
VBoxNetworkName: HostInterfaceNetworking-vboxnet4
Name: vboxnet5
GUID: 786f6276-656e-4574-8000-0a0027000005
DHCP: Disabled
IPAddress: 172.20.20.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:05
MediumType: Ethernet
Status: Down
VBoxNetworkName: HostInterfaceNetworking-vboxnet5
STDERR:
executing: /usr/local/bin/VBoxManage modifyvm default --nic2 hostonly --nictype2 82540EM --hostonlyadapter2 vboxnet4 --cableconnected2 on
STDOUT:
STDERR:
executing: /usr/local/bin/VBoxManage storagectl default --name SATA --add sata --hostiocache on
STDOUT:
STDERR:
executing: /usr/local/bin/VBoxManage storageattach default --storagectl SATA --port 0 --device 0 --type dvddrive --medium /Users/ghicks/.docker/machine/machines/default/boot2docker.iso
STDOUT:
STDERR:
executing: /usr/local/bin/VBoxManage storageattach default --storagectl SATA --port 1 --device 0 --type hdd --medium /Users/ghicks/.docker/machine/machines/default/disk.vmdk
STDOUT:
STDERR:
executing: /usr/local/bin/VBoxManage guestproperty set default /VirtualBox/GuestAdd/SharedFolders/MountPrefix /
STDOUT:
STDERR:
executing: /usr/local/bin/VBoxManage guestproperty set default /VirtualBox/GuestAdd/SharedFolders/MountDir /
STDOUT:
STDERR:
executing: /usr/local/bin/VBoxManage sharedfolder add default --name Users --hostpath /Users --automount
STDOUT:
STDERR:
executing: /usr/local/bin/VBoxManage setextradata default VBoxInternal2/SharedFoldersEnableSymlinksCreate/Users 1
STDOUT:
STDERR:
Starting VirtualBox VM...
executing: /usr/local/bin/VBoxManage showvminfo default --machinereadable
STDOUT: name="default"
groups="/"
ostype="Linux 2.6 / 3.x / 4.x (64-bit)"
UUID="f2643e6a-d996-46e1-9b83-572abac2134f"
CfgFile="/Users/ghicks/.docker/machine/machines/default/default/default.vbox"
SnapFldr="/Users/ghicks/.docker/machine/machines/default/default/Snapshots"
LogFldr="/Users/ghicks/.docker/machine/machines/default/default/Logs"
hardwareuuid="f2643e6a-d996-46e1-9b83-572abac2134f"
memory=1024
pagefusion="off"
vram=8
cpuexecutioncap=100
hpet="on"
chipset="piix3"
firmware="BIOS"
cpus=1
pae="on"
longmode="on"
cpuid-portability-level=0
bootmenu="disabled"
boot1="dvd"
boot2="dvd"
boot3="disk"
boot4="none"
acpi="on"
ioapic="on"
biossystemtimeoffset=0
rtcuseutc="on"
hwvirtex="on"
nestedpaging="on"
largepages="on"
vtxvpid="on"
vtxux="on"
paravirtprovider="default"
VMState="poweroff"
VMStateChangeTime="2015-09-15T13:14:33.631000000"
monitorcount=1
accelerate3d="off"
accelerate2dvideo="off"
teleporterenabled="off"
teleporterport=0
teleporteraddress=""
teleporterpassword=""
tracing-enabled="off"
tracing-allow-vm-access="off"
tracing-config=""
autostart-enabled="off"
autostart-delay=0
defaultfrontend=""
storagecontrollername0="SATA"
storagecontrollertype0="IntelAhci"
storagecontrollerinstance0="0"
storagecontrollermaxportcount0="30"
storagecontrollerportcount0="30"
storagecontrollerbootable0="on"
"SATA-0-0"="/Users/ghicks/.docker/machine/machines/default/boot2docker.iso"
"SATA-ImageUUID-0-0"="877c2334-07ae-4909-b813-30f6be54f33d"
"SATA-tempeject"="off"
"SATA-IsEjected"="off"
"SATA-1-0"="/Users/ghicks/.docker/machine/machines/default/disk.vmdk"
"SATA-ImageUUID-1-0"="d09f5674-abfc-40d0-827c-88cdbf883224"
"SATA-2-0"="none"
"SATA-3-0"="none"
"SATA-4-0"="none"
"SATA-5-0"="none"
"SATA-6-0"="none"
"SATA-7-0"="none"
"SATA-8-0"="none"
"SATA-9-0"="none"
"SATA-10-0"="none"
"SATA-11-0"="none"
"SATA-12-0"="none"
"SATA-13-0"="none"
"SATA-14-0"="none"
"SATA-15-0"="none"
"SATA-16-0"="none"
"SATA-17-0"="none"
"SATA-18-0"="none"
"SATA-19-0"="none"
"SATA-20-0"="none"
"SATA-21-0"="none"
"SATA-22-0"="none"
"SATA-23-0"="none"
"SATA-24-0"="none"
"SATA-25-0"="none"
"SATA-26-0"="none"
"SATA-27-0"="none"
"SATA-28-0"="none"
"SATA-29-0"="none"
natnet1="nat"
macaddress1="0800277D587B"
cableconnected1="on"
nic1="nat"
nictype1="82540EM"
nicspeed1="0"
mtu="0"
sockSnd="64"
sockRcv="64"
tcpWndSnd="64"
tcpWndRcv="64"
hostonlyadapter2="vboxnet4"
macaddress2="080027EDCBFD"
cableconnected2="on"
nic2="hostonly"
nictype2="82540EM"
nicspeed2="0"
nic3="none"
nic4="none"
nic5="none"
nic6="none"
nic7="none"
nic8="none"
hidpointing="ps2mouse"
hidkeyboard="ps2kbd"
uart1="off"
uart2="off"
lpt1="off"
lpt2="off"
audio="none"
clipboard="disabled"
draganddrop="disabled"
vrde="off"
usb="off"
ehci="off"
xhci="off"
SharedFolderNameMachineMapping1="Users"
SharedFolderPathMachineMapping1="/Users"
vcpenabled="off"
vcpscreens=0
vcpfile="/Users/ghicks/.docker/machine/machines/default/default/default.webm"
vcpwidth=1024
vcpheight=768
vcprate=512
vcpfps=25
GuestMemoryBalloon=0
STDERR:
using 192.168.99.1 for dhcp address
executing: /usr/local/bin/VBoxManage list hostonlyifs
STDOUT: Name: vboxnet0
GUID: 786f6276-656e-4074-8000-0a0027000000
DHCP: Disabled
IPAddress: 10.200.2.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:00
MediumType: Ethernet
Status: Down
VBoxNetworkName: HostInterfaceNetworking-vboxnet0
Name: vboxnet1
GUID: 786f6276-656e-4174-8000-0a0027000001
DHCP: Disabled
IPAddress: 10.200.250.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:01
MediumType: Ethernet
Status: Down
VBoxNetworkName: HostInterfaceNetworking-vboxnet1
Name: vboxnet2
GUID: 786f6276-656e-4274-8000-0a0027000002
DHCP: Disabled
IPAddress: 10.200.0.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:02
MediumType: Ethernet
Status: Down
VBoxNetworkName: HostInterfaceNetworking-vboxnet2
Name: vboxnet3
GUID: 786f6276-656e-4374-8000-0a0027000003
DHCP: Disabled
IPAddress: 192.168.59.3
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:03
MediumType: Ethernet
Status: Down
VBoxNetworkName: HostInterfaceNetworking-vboxnet3
Name: vboxnet4
GUID: 786f6276-656e-4474-8000-0a0027000004
DHCP: Disabled
IPAddress: 192.168.99.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:04
MediumType: Ethernet
Status: Down
VBoxNetworkName: HostInterfaceNetworking-vboxnet4
Name: vboxnet5
GUID: 786f6276-656e-4574-8000-0a0027000005
DHCP: Disabled
IPAddress: 172.20.20.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:05
MediumType: Ethernet
Status: Down
VBoxNetworkName: HostInterfaceNetworking-vboxnet5
STDERR:
executing: /usr/local/bin/VBoxManage modifyvm default --nic2 hostonly --nictype2 82540EM --hostonlyadapter2 vboxnet4 --cableconnected2 on
STDOUT:
STDERR:
executing: /usr/local/bin/VBoxManage modifyvm default --natpf1 delete ssh
STDOUT:
STDERR: VBoxManage: error: Code NS_ERROR_INVALID_ARG (0x80070057) - Invalid argument value (extended info not available)
VBoxManage: error: Context: "RemoveRedirect(Bstr(ValueUnion.psz).raw())" at line 1767 of file VBoxManageModifyVM.cpp
executing: /usr/local/bin/VBoxManage modifyvm default --natpf1 ssh,tcp,127.0.0.1,49710,,22
STDOUT:
STDERR:
executing: /usr/local/bin/VBoxManage startvm default --type headless
STDOUT: Waiting for VM "default" to power on...
VM "default" has been successfully started.
STDERR:
Starting VM...
Getting to WaitForSSH function...
Testing TCP connection to: localhost:49710
Using SSH client type: external
About to run SSH command:
exit 0
&{/usr/bin/ssh [/usr/bin/ssh -o PasswordAuthentication=no -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -i /Users/ghicks/.docker/machine/machines/default/id_rsa -p 49710 docker@localhost exit 0] [] <nil> <nil> <nil> [] <nil> <nil> <nil> <nil> false [] [] [] [] <nil>}
SSH cmd err, output: exit status 255:
Error getting ssh command 'exit 0' : exit status 255
Getting to WaitForSSH function...
Testing TCP connection to: localhost:49710
Using SSH client type: external
About to run SSH command:
exit 0
&{/usr/bin/ssh [/usr/bin/ssh -o PasswordAuthentication=no -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -i /Users/ghicks/.docker/machine/machines/default/id_rsa -p 49710 docker@localhost exit 0] [] <nil> <nil> <nil> [] <nil> <nil> <nil> <nil> false [] [] [] [] <nil>}
SSH cmd err, output: exit status 255:
Error getting ssh command 'exit 0' : exit status 255
Getting to WaitForSSH function...
Testing TCP connection to: localhost:49710
Using SSH client type: external
About to run SSH command:
exit 0
&{/usr/bin/ssh [/usr/bin/ssh -o PasswordAuthentication=no -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -i /Users/ghicks/.docker/machine/machines/default/id_rsa -p 49710 docker@localhost exit 0] [] <nil> <nil> <nil> [] <nil> <nil> <nil> <nil> false [] [] [] [] <nil>}
SSH cmd err, output: exit status 255:
Error getting ssh command 'exit 0' : exit status 255
Getting to WaitForSSH function...
Testing TCP connection to: localhost:49710
Using SSH client type: external
About to run SSH command:
exit 0
&{/usr/bin/ssh [/usr/bin/ssh -o PasswordAuthentication=no -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -i /Users/ghicks/.docker/machine/machines/default/id_rsa -p 49710 docker@localhost exit 0] [] <nil> <nil> <nil> [] <nil> <nil> <nil> <nil> false [] [] [] [] <nil>}
VirtualBox shows the default VM up and running with the boot2docker init script finished.
One small bit of progress: ctrl+c exiting from the docker-machine run no longer borks my terminal.
I'm having the same problem. My config:
Host *
User XXX
StrictHostKeyChecking no
IdentityFile ~/.ssh/familysearch_id_rsa
ForwardAgent yes
CheckHostIP no
HashKnownHosts no
GSSAPIAuthentication yes
GSSAPIDelegateCredentials yes
GSSAPITrustDNS yes
In this context, docker-machine --debug create -d virtualbox --engine-insecure-registry docker-registry.vip.fsglobal.net default
hangs.
I'm having the same problem using VirtualBox 5.0.6 and Docker Toolkit 1.8.2-rc3.
This basically stops Docker working on OSX - fun.
Any updates on this? It almost makes Docker pointless on OSX so its pretty critical
Nothing new to report on my end unfortunately. I did notice that @srmadsen mentioned Cisco VPN - I have AnyConnect installed as well but the above copy/paste was with the VPN disabled, like his was. No idea if that is actually related.
I also have AnyConnect installed but it isn't running. I wonder if this is related.
No one in my team can get it working.
I have the same issues, but no Cisco VPN (or VPN of any sort) set up. I have found that (using the QuickStart Terminal), I can use a second terminal to run docker-machine ssh and connect successfully. The moment I kill the create command, it switches to timeout. But while the command is hanging, I seem to be able to use it normally (but I have no comparison to how it should actually run).
Anyone from the Docker team got any input on this?
FYI I've tried this with both VirtualBox 4.3 and 5.x.x and I have the same issues.
Commented out ipv6 as well.
There's a decent chance AnyConnect has already modified your system routing tables, even if it isn't presently running. Aside from that, there's a variety of reasons the allocated IP address might not be reachable.
@darrenhaken @lswest @gffhcks @srmadsen Can you please try the following and get back to me:
--debug
as well as the output of docker-machine ssh vmname tail /var/log/docker.log
Try adding the route manually as well if create is still hanging for you.
EDIT: My URL link above was wrong. Fixed.
I've downloaded the master build, and run the commands. I still get a timeout error from docker-machine create. I don't have a VPN or proxy running (nor have I ever used a VPN or proxy on this computer). It did also refer to the hosts file, so I've included it in the following gist. I do also use MAMP Pro and Vagrant, in case they could cause a conflict between docker-machine and the hosts file? It's the only thing I can think of.
Result of all commands, and hosts file: https://gist.github.com/lswest/d42dd6074bc3465864cd
I haven't yet tried adding the route manually, but will do so when I have a moment.
@nathanleclaire Using the master build everything seemed to be working. I even managed to upgrade to the latest VirtualBox again (5.0.6) and re-enable IPV6 in my /etc/hosts.
Any idea when this build will be officially released? I'd love to have an ETA to share with my team.
Am I the only one getting “501 - Service unavailable” from that link?
Reid Madsen Manager, Continuous Delivery Services FamilySearch.orghttp://FamilySearch.org Tel: 801.240.6009, Cell: 214.912.5152 reid.madsen@familysearch.orgmailto:reid.madsen@familysearch.org
On Oct 6, 2015, at 4:44 PM, Nathan LeClaire notifications@github.com<mailto:notifications@github.com> wrote:
There's a decent chance AnyConnect has already modified your system routing tables, even if it isn't presently running. Aside from that, there's a variety of reasons the allocated IP address might not be reachable.
@darrenhakenhttps://urldefense.proofpoint.com/v2/url?u=https-3Agithub.com_darrenhaken&d=BQMCaQ&c=z0adcvxXWKG6LAMN6dVEqQ&r=hruaYGASv6_dkl7c7tzAFsCvVD3ww5MWZTsOhdX3-FM&m=rqQP9llqInncLfyMjS3dKgkbrqIojSON-i_ITc5I6Z4&s=H7hrlXELYlnSGMfhWweKDHc6Qi91a0T2D3pU6Qdb000&e= @lswesthttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_lswest&d=BQMCaQ&c=z0adcvxXWKG6LAMN6dVEqQ&r=hruaYGASv6_dkl7c7tzAFsCvVD3ww5MWZTsOhdX3-FM&m=rqQP9llqInncLfyMjS3dKgkbrqIojSON-i_ITc5I6Z4&s=Col0wQPAnCTiMPA9F5iEJtPvwD7FlIbcJ3aQAoByU7M&e= @gffhckshttps://urldefense.proofpoint.com/v2/url?u=https-3Agithub.com_gffhcks&d=BQMCaQ&c=z0adcvxXWKG6LAMN6dVEqQ&r=hruaYGASv6_dkl7c7tzAFsCvVD3ww5MWZTsOhdX3-FM&m=rqQP9llqInncLfyMjS3dKgkbrqIojSON-i_ITc5I6Z4&s=pCzLa46ihPK5cllLCiBH8nKdfwuBa-t8sYuRrrLRp1w&e= @srmadsenhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_srmadsen&d=BQMCaQ&c=z0adcvxXWKG6LAMN6dVEqQ&r=hruaYGASv6_dkl7c7tzAFsCvVD3ww5MWZTsOhdX3-FM&m=rqQP9llqInncLfyMjS3dKgkbrqIojSON-i_ITc5I6Z4&s=0iqzFPTNx8tP38sDrBEXL1AHWMapSAOizd2cN0OnvWg&e= Can you please try the following and get back to me:
Try adding the route manually as well if create is still hanging for you.
— Reply to this email directly or view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_docker_machine_issues_1819-23issuecomment-2D146024181&d=BQMCaQ&c=z0adcvxXWKG6LAMN6dVEqQ&r=hruaYGASv6_dkl7c7tzAFsCvVD3ww5MWZTsOhdX3-FM&m=rqQP9llqInncLfyMjS3dKgkbrqIojSON-i_ITc5I6Z4&s=epVcWEbB9KaZl0xYFYJ1Tu_fC_66TSDxMFgfudSD0Sc&e=.
@srmadsen I think I pasted the wrong one originally so if you're reading via e-mail it will be messed up. Try https://docker-machine-builds.evanhazlett.com/latest/
@darrenhaken The next release will be in approximately 2 weeks. Sorry for the holdup in the meanwhile. We want to get a faster release cadence soon but for now we're tied to the Docker Engine's release cycle.
@lswest Thanks for the very detailed Gist! It looks like in your case the issue will be a bit trickier to debug. Looks like most of the create happens as expected (does docker-machine ssh dev
work after creation?), but something is going sideways in the DHCP IP allocation.
@ehazlett can you take a look at that log as well and see if you notice anything fishy? I'm seeing that we instruct VirtualBox to attach the vboxnet0
host-only interface, which has an IP address of 192.168.99.1
, but the VM comes up with an IP of 192.168.56.101
.
@lswest if possible, can you remove the host only interfaces you presently have and try again?
You can do so in the Virtualbox GUI: VirtualBox > Preferences > Network > Host-only Networks (use the "minus" button on the right)
@nathanleclaire Deleting the host-only network adapters has solved the issue. Seeing as docker seems to use vboxnet0, it may only be necessary to make sure you don't have that name in use. In any case, it's working now, and I'll have to see about fixing the issues with Vagrant and my other VMs with new interfaces.
No idea if it's possible, but if you can get the last item on a list of the host-only interfaces, then parse out the integer and increment it by 1, then docker wouldn't ever run into the conflict when creating the interface? I should assume this is possible, since Vagrant creates a new interface with a unique name for each machine.
@nathanleclaire please update the github issue when a new version is released.
Are you coupled to the rest of the toolbox for your releases then? Seems like it could slow down your cadence that's all.
@nathanleclaire Why does docker-machine create a host-only adapter (just for the Docker daemon port?) instead of relying on port forwarding over the NAT interface like it does for ssh? I ask because my (and many other peoples') solution to Cisco AnyConnect leaving VirtualBox in a state where it can't modify the routing table (even after disconnecting from VPN) is to add a port forwarding rule for port 2376.
@onejli Well, the host-only adapter is meant to allow access of all exposed ports, for instance if you run a web application listening on :8080
in a container you need some way to access that from the host as well. That being said, I have definitely strongly considered a --virtualbox-nat-only
flag where it does what you say: forwards the daemon port to localhost
using NAT and instructs the client to connect there if relevant on the target machine. Would that help your use case?
@nathanleclaire Fair enough. I guess I was mostly focussed on my own use case where services in my containers are reaching outbound.
+1 to a --virtualbox-nat-only
flag! That said, I think it might make sense to modify docker-machine
to always also port forward 2376
to a randomly assigned port on the host (just like ssh). That way docker-machine
's "management" of the boot2docker vm will be more consistent; the Docker daemon and the docker-machine ssh
command will leverage the same interface.
Just a silly nitpick, but FYI: The Docker daemon port is usually 2376 (you wrote 2367) and I've edited your comments referencing it accordingly.
+1 to a --virtualbox-nat-only flag! That said, I think it might make sense to modify docker-machine to always also port forward 2376 to a randomly assigned port on the host (just like ssh). That way docker-machine's "management" of the boot2docker vm will be more consistent; the Docker daemon and the docker-machine ssh command will leverage the same interface.
That's what the suggested NAT only mode would do, but there is some danger involved:
localhost
encourage magical thinking that those will also show up on localhost
That being said, I could definitely see how it would be nice to have the option.
Just a silly nitpick, but FYI: The Docker daemon port is usually 2376 (you wrote 2367) and I've edited your comments referencing it accordingly.
Oops. Not a silly nitpick at all! Thanks for catching that.
That's what the suggested NAT only mode would do, but there is some danger involved:
- NAT port forwarding with vbox can sometimes be unreliable
- Users still wouldn't have access to ports exposed by containers as mentioned, and magical ports appearing on localhost encourage magical thinking that those will also show up on localhost
That being said, I could definitely see how it would be nice to have the option.
VirtualBox NAT port forwarding has been pretty stable for me (/me knocks on wood). What issues have you been seeing?
I definitely agree that there's merit in the inclusion of the host-only adapter for accessing services hosted in containers. I was blinded by my own use cases earlier. I'm liking your idea of a --virtualbox-nat-only
flag that disables everything except for NAT more and more. That said, I'd still love to see all "management" steps performed over the same interface.
When I was first debugging the issue with my VPN client preventing VirtualBox from adding routes, I was a bit puzzled why the initial docker-machine create
commands were succeeding, but the last few steps would fail. It wasn't until I turned on the debug flag that I realized that the initial create
commands were relying on port forwarded ssh while the last few commands were trying to connect over the host-only adapter. Had both "sets" of commands been over the same interface (either NAT or host-only), I think it would have been a bit clearer to me what was going on.
VirtualBox NAT port forwarding has been pretty stable for me (/me knocks on wood). What issues have you been seeing?
Occasionally it will just not work at all and the forwarded ports will have no one listening on the other end, causing a create failure. Also some of the fear is cargo culted over from @SvenDowideit
When I was first debugging the issue with my VPN client preventing VirtualBox from adding routes, I was a bit puzzled why the initial docker-machine create commands were succeeding, but the last few steps would fail. It wasn't until I turned on the debug flag that I realized that the initial create commands were relying on port forwarded ssh while the last few commands were trying to connect over the host-only adapter. Had both "sets" of commands been over the same interface (either NAT or host-only), I think it would have been a bit clearer to me what was going on.
Yeah, in the 0.5.0 release, it's now all done over SSH, with a warning being printed if we can't dial the host only IP, so that at least the create can finish.
After much troubleshooting--uninstall/resinstall VirtualBox, removing ~/.docker, removing ~/Library/VirtualBox, and related prefs files in ~/Library/Preferences, etc--I finally thought to try the --native-ssh
flag to docker-machine
.
And... It worked!
Then I temporarily renamed my highly customized ~/.ssh/config
file.
And... That worked!
I renamed the ssh config file back to ~/.ssh/config
, edited it to add a Host 192.168.99.?
section (that's the subnet that vboxnet0 is using for me currently), and have been fiddling with the settings in there. So far, I haven't figured out what setting(s) specifically are causing the problem. I have been using the ssh command take from the docker-machine -D
debug output to test:
usr/local/bin/ssh -vvv -o PasswordAuthentication=no -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -i /Users/jasonstanford/.docker/machine/machines/default/id_rsa -p 51315 docker@localhost
Finally, since I am blind, I realized that the host being ssh'd into is not 192.168.99.? but localhost, so I changed the line to Host localhost 127.0.0.1
. And, voila.
I should probablly note that I use Homebrew's OpenSSH package, not what comes with OS X. (I am still using OS X 10.10 Yosemite myself.)
Update
FWIW && YMMV, since no two ~/.ssh/config files are alike, but these are the two lines I whittled down to that make docker-machine
work again on my machine.
Host localhost 127.0.0.1
PubkeyAuthentication yes
## If you have ControlMaster configured globally or elsewhere,
## you may need to uncomment the following line ...
# ControlMaster no
This seems to work now without any timeouts/hangups.
Thanks for the info @jps3 . We have made some fixes to help on master and in the release candidate and in the future I think I am inclined towards Machine having it's own SSH configuration file which over-rides the system default.
Any update on when this will be pushed to a new release of docker toolbox? Every single dev on my team faces the same issue and we'd love to be back on the release cycles rather than using docker machine from master.
@nathanleclaire you mentioned its 2 week release cycles but its been 17 days since I last asked on the ticket?
@darrenhaken we are at RC3: https://github.com/docker/machine/releases/tag/v0.5.0-rc3
The release is pending now.
About the future release cycle of machine: it's released as part of the docker platform, every nine weeks.
Minor releases may/will occur faster than that to fix bugs though.
Yup sorry for the delay @darrenhaken, it's the reason for the "approximately" in my original comment.
@nathanleclaire can I ask why docker-machine is coupled so much to docker?
Is there anything the community can do to help decouple them more and reduce the release cycles? I imagine some form of contract tests between the two tools would help.
Is there any form of semver for docker so to help understand when API changes would happen?
@darrenhaken It has been a decision by the leadership of the team and is out of my control. Tweeting @docker and asking for the release cycles to be faster might work. We will be following up this release with a few planned minor versions for bug fixes. After DockerCon Europe, I am going to try and start and start a discussion to increase the release cycles for features.
As for the issue, this issue is very long and contains a lot of digressions. If someone continues to encounter similar ones please open a new one at https://github.com/docker/machine/issues/new with detailed information including:
--debug
flag~/.docker/machine/machines/name/name
. Thanks!
@nathanleclaire if docker begin to look at smaller release cycles please feel free to reach out to me to participate in discussions about it. I'd likely happily contribute too.
FYI I'm moving to SF in Jan which makes things easier
@ehazlett thanks much -- after trying everything https://github.com/docker/machine/issues/1819#issuecomment-138981139 fixed it
I'm not seeing any examples of this reported already, apologies if this is a duplicate.
Steps to reproduce (possibly only on my system):
docker-machine --debug create -d virtualbox default
- this gets into an infinite loop. Output:If I ctrl+c this, everything seems to break. For example,
docker-machine ls
completely breaks my terminal and requires a reset or opening a new window to fix it:docker-machine active
has a similar effect: