brikis98 / docker-osx-dev

A productive development environment with Docker on OS X
http://www.ybrikman.com/writing/2015/05/19/docker-osx-dev/
MIT License
1.43k stars 106 forks source link

Mkdir error when trying resync after restarting docker machine with vmware driver #178

Open snipebin opened 8 years ago

snipebin commented 8 years ago

To reproduce:

  1. create a project dir within your home directory.
  2. within the project dir, create a directory test-dir with some test files.
  3. Include a docker-compose.yml mapping test-dir as a volume in the container.
  4. Run docker-machine create -d vmwarefusion test-machine
  5. Runeval "$(docker-machine env test-machine)"
  6. Run docker-osx-dev install
  7. Run docker-osx-dev
  8. Restart the machine with with docker-machine restart test-machine
  9. Run docker-osx-dev

You should see:

... 2016-03-16 16:31:27 [INFO] Installing rsync in the Docker Host image 2016-03-16 16:31:27 [INFO] Performing initial sync of paths: /Users/... mkdir: can't create directory '/Users/': No such file or directory

Update:

This does not happen with the Virtualbox driver.

Here are the env variables used in the creation of the machines:

export FUSION_CPU_COUNT=-1 export VIRTUALBOX_CPU_COUNT=2 export FUSION_MEMORY_SIZE=4096 export VIRTUALBOX_MEMORY_SIZE=4096 export FUSION_NO_SHARE=true export VIRTUALBOX_NO_SHARE=true

brikis98 commented 8 years ago

Hm, I'm not sure docker-osx-dev has been tested with anything other than Virtualbox. In fact, docker-osx-dev exists specifically to work around the shortcomings of vboxsf, which is horrendously slow. If you're not using Virtualbox, do you really need docker-osx-dev?

snipebin commented 8 years ago

@brikis98 vmware shares suffer from the same performance problems docker-osx-dev is designed to overcome with Virtualbox.

Now that I am using docker-osx-dev (with virtualbox driver at the moment), development with docker is actually productive! Vmware has performed better than virtualbox for me, so those of us who prefer vmware would benefit from docker-osx-dev support for it through docker machine.

Seems like an absent filesystem problem going on with busybox on vmware fusion.

brikis98 commented 8 years ago

Ah, I didn't realize vmware had the same issue. Could you run docker-osx-dev with debug logging and post the full output here?

ain commented 8 years ago

Good feedback @snipebin, thanks. I remember I didn't even get my volumes working with VMWare, they were all corrupt, so I didn't trial it further.

snipebin commented 8 years ago

@brikis98 here is the debug output, starting after fresh machine creation following steps 1-5 above:

Viniciuss-MacBook-Air:projects yovin$ docker-osx-dev install --log-level DEBUG

2016-03-30 17:00:20 [INFO] Starting install of docker-osx-dev 2016-03-30 17:00:20 [INFO] Updating HomeBrew Already up-to-date. 2016-03-30 17:00:25 [INFO] Setting up Cask Warning: Tap caskroom/cask already tapped. 2016-03-30 17:00:25 [WARN] Test "brew cask list" passed, assuming Cask is already installed and skipping 2016-03-30 17:00:25 [WARN] Test "type boot2docker" passed, assuming Boot2Docker is already installed and skipping 2016-03-30 17:00:25 [WARN] Test "type docker-compose" passed, assuming Docker Compose is already installed and skipping 2016-03-30 17:00:25 [WARN] Test "type docker-machine" passed, assuming Docker Machine is already installed and skipping 2016-03-30 17:00:25 [WARN] Test "type fswatch" passed, assuming fswatch is already installed and skipping 2016-03-30 17:00:25 [WARN] Test "type greadlink" passed, assuming GNU core utilities is already installed and skipping 2016-03-30 17:00:25 [INFO] Testing if docker machine is running 2016-03-30 17:00:26 [INFO] Installing rsync in the Docker Host image Docker Machine Version: 0.6.0, build e27fb87 Found binary path at /usr/local/bin/docker-machine Launching plugin server for driver vmwarefusion Plugin server listening at address 127.0.0.1:62653 () Calling .GetVersion Using API Version 1 () Calling .SetConfigRaw () Calling .GetMachineName (test-machine) Calling .GetState (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) Calling .GetSSHHostname (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) DBG | MAC address in VMX: 00:0c:29:7b:26:82 (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet1.leases (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet8.leases (test-machine) DBG | IP found in DHCP lease table: 172.16.144.131 (test-machine) Calling .GetSSHPort (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHUsername Using SSH client type: external {[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22] /usr/bin/ssh} &{/usr/bin/ssh [/usr/bin/ssh -o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22 if ! type rsync > /dev/null 2>&1; then tce-load -wi rsync; fi] [] [] false [] [] [] [] } Making call to close driver server (test-machine) Calling .Close Successfully made call to close driver server Making call to close connection to plugin binary (test-machine) DBG | Closing plugin on server side 2016-03-30 17:00:26 [WARN] /etc/hosts already contains test-machine, will not overwrite 2016-03-30 17:00:26 [INFO] docker-osx-dev setup has completed successfully. 2016-03-30 17:00:26 [INSTRUCTIONS] You can now start file syncing using the docker-osx-dev script and run Docker containers using docker run. Example:

docker-osx-dev docker run -v $(pwd):/src some-docker-container

Viniciuss-MacBook-Air:vmware-docker-osx-dev yovin$ docker-osx-dev --log-level DEBUG

2016-03-30 17:01:01 [INFO] Using sync paths from Docker Compose file at docker-compose.yml: ./repo/docroot ./stack/opt/entrypoint ./stack/var/lib/mysql ./stack/etc/mysql/conf.d 2016-03-30 17:01:01 [INFO] Complete list of paths to sync: /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo/docroot /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt/entrypoint /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib/mysql /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql/conf.d 2016-03-30 17:01:01 [INFO] Using default exclude paths: .git 2016-03-30 17:01:01 [INFO] Complete list of paths to exclude: .git 2016-03-30 17:01:01 [INFO] Complete list of paths to include: 2016-03-30 17:01:01 [INFO] Starting docker-osx-dev file syncing 2016-03-30 17:01:01 [INFO] Testing if docker machine is running 2016-03-30 17:01:02 [INFO] Installing rsync in the Docker Host image Docker Machine Version: 0.6.0, build e27fb87 Found binary path at /usr/local/bin/docker-machine Launching plugin server for driver vmwarefusion Plugin server listening at address 127.0.0.1:62726 () Calling .GetVersion Using API Version 1 () Calling .SetConfigRaw () Calling .GetMachineName (test-machine) Calling .GetState (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) Calling .GetSSHHostname (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) DBG | MAC address in VMX: 00:0c:29:7b:26:82 (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet1.leases (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet8.leases (test-machine) DBG | IP found in DHCP lease table: 172.16.144.131 (test-machine) Calling .GetSSHPort (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHUsername Using SSH client type: external {[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22] /usr/bin/ssh} &{/usr/bin/ssh [/usr/bin/ssh -o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22 if ! type rsync > /dev/null 2>&1; then tce-load -wi rsync; fi] [] [] false [] [] [] [] } Making call to close driver server (test-machine) Calling .Close Successfully made call to close driver server Making call to close connection to plugin binary 2016-03-30 17:01:02 [INFO] Performing initial sync of paths: /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo/docroot /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt/entrypoint /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib/mysql /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql/conf.d 2016-03-30 17:01:02 [DEBUG] Creating parent directories in Docker VM: sudo mkdir -p /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql && sudo chown -R docker /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql Docker Machine Version: 0.6.0, build e27fb87 Found binary path at /usr/local/bin/docker-machine Launching plugin server for driver vmwarefusion Plugin server listening at address 127.0.0.1:62733 () Calling .GetVersion Using API Version 1 () Calling .SetConfigRaw () Calling .GetMachineName (test-machine) Calling .GetState (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) Calling .GetSSHHostname (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) DBG | MAC address in VMX: 00:0c:29:7b:26:82 (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet1.leases (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet8.leases (test-machine) DBG | IP found in DHCP lease table: 172.16.144.131 (test-machine) Calling .GetSSHPort (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHUsername Using SSH client type: external {[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22] /usr/bin/ssh} &{/usr/bin/ssh [/usr/bin/ssh -o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22 sudo mkdir -p /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql && sudo chown -R docker /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql] [] [] false [] [] [] [] } Making call to close driver server (test-machine) Calling .Close Successfully made call to close driver server Making call to close connection to plugin binary (test-machine) DBG | Closing plugin on server side 2016-03-30 17:01:03 [INFO] Initial sync using tar for /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo/docroot Docker Machine Version: 0.6.0, build e27fb87 Found binary path at /usr/local/bin/docker-machine Launching plugin server for driver vmwarefusion Plugin server listening at address 127.0.0.1:62747 () Calling .GetVersion Using API Version 1 () Calling .SetConfigRaw () Calling .GetMachineName (test-machine) Calling .GetState (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) Calling .GetSSHHostname (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) DBG | MAC address in VMX: 00:0c:29:7b:26:82 (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet1.leases (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet8.leases (test-machine) DBG | IP found in DHCP lease table: 172.16.144.131 (test-machine) Calling .GetSSHPort (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHUsername Using SSH client type: external {[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22] /usr/bin/ssh} &{/usr/bin/ssh [/usr/bin/ssh -o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22 tar -xC '/Users/yovin/Documents/projects/vmware-docker-osx-dev/repo'] [] [] false [] [] [] [] } Making call to close driver server (test-machine) Calling .Close Successfully made call to close driver server Making call to close connection to plugin binary 2016-03-30 17:01:07 [INFO] Initial sync using tar for /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt/entrypoint Docker Machine Version: 0.6.0, build e27fb87 Found binary path at /usr/local/bin/docker-machine Launching plugin server for driver vmwarefusion Plugin server listening at address 127.0.0.1:62763 () Calling .GetVersion Using API Version 1 () Calling .SetConfigRaw () Calling .GetMachineName (test-machine) Calling .GetState (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) Calling .GetSSHHostname (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) DBG | MAC address in VMX: 00:0c:29:7b:26:82 (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet1.leases (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet8.leases (test-machine) DBG | IP found in DHCP lease table: 172.16.144.131 (test-machine) Calling .GetSSHPort (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHUsername Using SSH client type: external {[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22] /usr/bin/ssh} &{/usr/bin/ssh [/usr/bin/ssh -o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22 tar -xC '/Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt'] [] [] false [] [] [] [] } Making call to close driver server (test-machine) Calling .Close Successfully made call to close driver server Making call to close connection to plugin binary (test-machine) DBG | Closing plugin on server side 2016-03-30 17:01:07 [INFO] Initial sync using tar for /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib/mysql Docker Machine Version: 0.6.0, build e27fb87 Found binary path at /usr/local/bin/docker-machine Launching plugin server for driver vmwarefusion Plugin server listening at address 127.0.0.1:62778 () Calling .GetVersion Using API Version 1 () Calling .SetConfigRaw () Calling .GetMachineName (test-machine) Calling .GetState (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) Calling .GetSSHHostname (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) DBG | MAC address in VMX: 00:0c:29:7b:26:82 (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet1.leases (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet8.leases (test-machine) DBG | IP found in DHCP lease table: 172.16.144.131 (test-machine) Calling .GetSSHPort (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHUsername Using SSH client type: external {[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22] /usr/bin/ssh} &{/usr/bin/ssh [/usr/bin/ssh -o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22 tar -xC '/Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib'] [] [] false [] [] [] [] } Making call to close driver server (test-machine) Calling .Close Successfully made call to close driver server Making call to close connection to plugin binary (test-machine) DBG | Closing plugin on server side 2016-03-30 17:01:08 [INFO] Initial sync using tar for /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql/conf.d Docker Machine Version: 0.6.0, build e27fb87 Found binary path at /usr/local/bin/docker-machine Launching plugin server for driver vmwarefusion Plugin server listening at address 127.0.0.1:62792 () Calling .GetVersion Using API Version 1 () Calling .SetConfigRaw () Calling .GetMachineName (test-machine) Calling .GetState (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) Calling .GetSSHHostname (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) DBG | MAC address in VMX: 00:0c:29:7b:26:82 (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet1.leases (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet8.leases (test-machine) DBG | IP found in DHCP lease table: 172.16.144.131 (test-machine) Calling .GetSSHPort (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHUsername Using SSH client type: external {[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22] /usr/bin/ssh} &{/usr/bin/ssh [/usr/bin/ssh -o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22 tar -xC '/Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql'] [] [] false [] [] [] [] } Making call to close driver server (test-machine) Calling .Close Successfully made call to close driver server Making call to close connection to plugin binary (test-machine) DBG | Closing plugin on server side 2016-03-30 17:01:09 [DEBUG] Starting sync paths: /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo/docroot 2016-03-30 17:01:09 [DEBUG] rsync --archive --log-format 'Syncing %n: %i' --delete --omit-dir-times --inplace --whole-file -l --exclude .git --rsh="ssh -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo/docroot docker@172.16.144.131:/Users/yovin/Documents/projects/vmware-docker-osx-dev/repo 2>&1 | grep -v "^Warning: Permanently added" 2016-03-30 17:01:09 [DEBUG] rsync --archive --log-format 'Syncing %n: %i' --delete --omit-dir-times --inplace --whole-file -l --exclude .git --rsh="ssh -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt/entrypoint docker@172.16.144.131:/Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt 2>&1 | grep -v "^Warning: Permanently added" 2016-03-30 17:01:09 [DEBUG] rsync --archive --log-format 'Syncing %n: %i' --delete --omit-dir-times --inplace --whole-file -l --exclude .git --rsh="ssh -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib/mysql docker@172.16.144.131:/Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib 2>&1 | grep -v "^Warning: Permanently added" 2016-03-30 17:01:09 [DEBUG] rsync --archive --log-format 'Syncing %n: %i' --delete --omit-dir-times --inplace --whole-file -l --exclude .git --rsh="ssh -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql/conf.d docker@172.16.144.131:/Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql 2>&1 | grep -v "^Warning: Permanently added" 2016-03-30 17:01:09 [INFO] Initial sync done 2016-03-30 17:01:09 [INFO] Watching: /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo/docroot /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt/entrypoint /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib/mysql /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql/conf.d 2016-03-30 17:01:09 [DEBUG] fswatch -0 /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo/docroot /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt/entrypoint /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib/mysql /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql/conf.d

After docker-machine restart test-machine:

Viniciuss-MacBook-Air:vmware-docker-osx-dev yovin$ docker-osx-dev --log-level DEBUG

2016-03-30 17:03:56 [INFO] Using sync paths from Docker Compose file at docker-compose.yml: ./repo/docroot ./stack/opt/entrypoint ./stack/var/lib/mysql ./stack/etc/mysql/conf.d 2016-03-30 17:03:56 [INFO] Complete list of paths to sync: /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo/docroot /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt/entrypoint /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib/mysql /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql/conf.d 2016-03-30 17:03:56 [INFO] Using default exclude paths: .git 2016-03-30 17:03:56 [INFO] Complete list of paths to exclude: .git 2016-03-30 17:03:56 [INFO] Complete list of paths to include: 2016-03-30 17:03:56 [INFO] Starting docker-osx-dev file syncing 2016-03-30 17:03:56 [INFO] Testing if docker machine is running 2016-03-30 17:03:57 [INFO] Installing rsync in the Docker Host image Docker Machine Version: 0.6.0, build e27fb87 Found binary path at /usr/local/bin/docker-machine Launching plugin server for driver vmwarefusion Plugin server listening at address 127.0.0.1:62949 () Calling .GetVersion Using API Version 1 () Calling .SetConfigRaw () Calling .GetMachineName (test-machine) Calling .GetState (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) Calling .GetSSHHostname (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) DBG | MAC address in VMX: 00:0c:29:7b:26:82 (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet1.leases (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet8.leases (test-machine) DBG | IP found in DHCP lease table: 172.16.144.131 (test-machine) Calling .GetSSHPort (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHUsername Using SSH client type: external {[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22] /usr/bin/ssh} &{/usr/bin/ssh [/usr/bin/ssh -o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22 if ! type rsync > /dev/null 2>&1; then tce-load -wi rsync; fi] [] [] false [] [] [] [] } Making call to close driver server (test-machine) Calling .Close Successfully made call to close driver server Making call to close connection to plugin binary 2016-03-30 17:03:57 [INFO] Performing initial sync of paths: /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo/docroot /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt/entrypoint /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib/mysql /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql/conf.d 2016-03-30 17:03:57 [DEBUG] Creating parent directories in Docker VM: sudo mkdir -p /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql && sudo chown -R docker /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql Docker Machine Version: 0.6.0, build e27fb87 Found binary path at /usr/local/bin/docker-machine Launching plugin server for driver vmwarefusion Plugin server listening at address 127.0.0.1:62956 () Calling .GetVersion Using API Version 1 () Calling .SetConfigRaw () Calling .GetMachineName (test-machine) Calling .GetState (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) Calling .GetSSHHostname (test-machine) DBG | executing: /Applications/VMware Fusion.app/Contents/Library/vmrun list (test-machine) DBG | MAC address in VMX: 00:0c:29:7b:26:82 (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet1.leases (test-machine) DBG | Trying to find IP address in leases file: /var/db/vmware/vmnet-dhcpd-vmnet8.leases (test-machine) DBG | IP found in DHCP lease table: 172.16.144.131 (test-machine) Calling .GetSSHPort (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHKeyPath (test-machine) Calling .GetSSHUsername Using SSH client type: external {[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22] /usr/bin/ssh} &{/usr/bin/ssh [/usr/bin/ssh -o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none docker@172.16.144.131 -o IdentitiesOnly=yes -i /Users/yovin/.docker/machine/machines/test-machine/id_rsa -p 22 sudo mkdir -p /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql && sudo chown -R docker /Users/yovin/Documents/projects/vmware-docker-osx-dev/repo /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/opt /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/var/lib /Users/yovin/Documents/projects/vmware-docker-osx-dev/stack/etc/mysql] [] [] false [] [] [] [] } mkdir: can't create directory '/Users/': No such file or directory mkdir: can't create directory '/Users/': No such file or directory mkdir: can't create directory '/Users/': No such file or directory mkdir: can't create directory '/Users/': No such file or directory exit status 1

brikis98 commented 8 years ago

How odd. The mkdir -p flag is failing on /Users/. I'm not sure how that's possible with the -p flag, unless you don't have a / mount point...

ain commented 8 years ago

My 2 cents: VMWare driver has had problems, e.g. docker/machine#2050 and docker/machine#1789 I experienced myself and I'm seeing some overlap here in this ticket.

snipebin commented 8 years ago

@brikis98 here's output from df and mount:

docker@test-machine:/$ sudo df -h
Filesystem                Size      Used Available Use% Mounted on
tmpfs                     3.5G    129.4M      3.3G   4% /
tmpfs                     1.9G         0      1.9G   0% /dev/shm
/dev/sda1                18.2G     44.5M     17.2G   0% /mnt/sda1
cgroup                    1.9G         0      1.9G   0% /sys/fs/cgroup
/dev/sda1                18.2G     44.5M     17.2G   0% /mnt/sda1/var/lib/docker/aufs
df: /Users: No such file or directory
docker@test-machine:/$ mount
tmpfs on / type tmpfs (rw,relatime,size=3640876k)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
tmpfs on /dev/shm type tmpfs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sda1 on /mnt/sda1 type ext4 (rw,relatime,data=ordered)
cgroup on /sys/fs/cgroup type tmpfs (rw,relatime,mode=755)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu type cgroup (rw,relatime,cpu)
cgroup on /sys/fs/cgroup/cpuacct type cgroup (rw,relatime,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,relatime,net_cls)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,relatime,perf_event)
cgroup on /sys/fs/cgroup/net_prio type cgroup (rw,relatime,net_prio)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,relatime,hugetlb)
/dev/sda1 on /mnt/sda1/var/lib/docker/aufs type ext4 (rw,relatime,data=ordered)
vmhgfs-fuse on /mnt/hgfs type fuse.vmhgfs-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
vmhgfs-fuse on /Users type fuse.vmhgfs-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)

I am running docker-machine with $FUSION_NO_SHARE = true and have nothing on the hgfs mount point:

docker@test-machine:/mnt/hgfs$ ls -la
total 5
dr-xr-xr-x    1 root     root          4192 Apr  4 22:21 ./
drwxr-xr-x    6 root     root           120 Apr  4 22:00 ../

This was interesting, trying to create/Users without the -poption fails with File exists:

docker@test-machine:/$ mkdir Users
mkdir: can't create directory 'Users': File exists

while ls says it doesn't:

docker@test-machine:/$ ls -ln /Users
ls: /Users: No such file or directory

@ain Thanks for the references.