Vagrant 上的 Dokku 无法在 Mac OS X 上启动

Dokku on Vagrant fails to start on Mac OS X

我是 运行 Mac OS X Yosemite 我正在按照本教程在 vagrant 上设置 dokku。

http://beletsky.net/2013/09/playing-with-dokku-on-vagrant.html

首先,我通过 brew install vagrant 安装了 vagrant,然后按照说明进行操作。在步骤:

vagrant up

我收到超时错误:

==> dokku-deb: VM not created. Moving on...
MacBook-Pro-di-Piero:dokku progm$ vagrant destroy build
==> build: VM not created. Moving on...
MacBook-Pro-di-Piero:dokku progm$ vagrant destroy empty
==> empty: VM not created. Moving on...
MacBook-Pro-di-Piero:dokku progm$ vagrant up
Bringing machine 'dokku' up with 'virtualbox' provider...
==> dokku: Importing base box 'trusty'...
==> dokku: Matching MAC address for NAT networking...
==> dokku: Setting the name of the VM: dokku_dokku_1424809280069_49490
==> dokku: Clearing any previously set forwarded ports...
==> dokku: Clearing any previously set network interfaces...
==> dokku: Preparing network interfaces based on configuration...
    dokku: Adapter 1: nat
    dokku: Adapter 2: hostonly
==> dokku: Forwarding ports...
    dokku: 80 => 8080 (adapter 1)
    dokku: 22 => 2222 (adapter 1)
==> dokku: Running 'pre-boot' VM customizations...
==> dokku: Booting VM...
==> dokku: Waiting for machine to boot. This may take a few minutes...
    dokku: SSH address: 127.0.0.1:2222
    dokku: SSH username: vagrant
    dokku: SSH auth method: private key
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.

我再次尝试 vagrant up,经过一些设置后我收到了这个错误:

Bringing machine 'dokku' up with 'virtualbox' provider...
==> dokku: VirtualBox VM is already running.
MacBook-Pro-di-Piero:dokku progm$ vagrant halt
==> build: VM not created. Moving on...
==> dokku-deb: VM not created. Moving on...
==> dokku: Attempting graceful shutdown of VM...
    dokku: Guest communication could not be established! This is usually because
    dokku: SSH is not running, the authentication information was changed,
    dokku: or some other networking issue. Vagrant will force halt, if
    dokku: capable.
==> dokku: Forcing shutdown of VM...
==> empty: VM not created. Moving on...
MacBook-Pro-di-Piero:dokku progm$ vagrant up
Bringing machine 'dokku' up with 'virtualbox' provider...
==> dokku: Clearing any previously set forwarded ports...
==> dokku: Clearing any previously set network interfaces...
==> dokku: Preparing network interfaces based on configuration...
    dokku: Adapter 1: nat
    dokku: Adapter 2: hostonly
==> dokku: Forwarding ports...
    dokku: 80 => 8080 (adapter 1)
    dokku: 22 => 2222 (adapter 1)
==> dokku: Running 'pre-boot' VM customizations...
==> dokku: Booting VM...
==> dokku: Waiting for machine to boot. This may take a few minutes...
    dokku: SSH address: 127.0.0.1:2222
    dokku: SSH username: vagrant
    dokku: SSH auth method: private key
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Connection timeout. Retrying...
    dokku: Warning: Remote connection disconnect. Retrying...
    dokku: Warning: Remote connection disconnect. Retrying...
    dokku: Warning: Remote connection disconnect. Retrying...
    dokku: Warning: Remote connection disconnect. Retrying...
    dokku: Warning: Remote connection disconnect. Retrying...
    dokku: 
    dokku: Vagrant insecure key detected. Vagrant will automatically replace
    dokku: this with a newly generated keypair for better security.
    dokku: 
    dokku: Inserting generated public key within guest...
    dokku: Removing insecure key from the guest if its present...
    dokku: Key inserted! Disconnecting and reconnecting using new SSH key...
==> dokku: Machine booted and ready!
==> dokku: Checking for guest additions in VM...
==> dokku: Setting hostname...
==> dokku: Configuring and enabling network interfaces...
==> dokku: Mounting shared folders...
    dokku: /vagrant => /Users/progm/lavoro/dokku
    dokku: /root/dokku => /Users/progm/lavoro/dokku
==> dokku: Running provisioner: file...
==> dokku: Running provisioner: shell...
    dokku: Running: inline script
==> dokku: stdin: is not a tty
==> dokku: Running provisioner: shell...
    dokku: Running: inline script
==> dokku: stdin: is not a tty
==> dokku: dpkg-preconfigure: unable to re-open stdin: No such file or directory
==> dokku: wget -qO /usr/local/bin/sshcommand https://raw.github.com/progrium/sshcommand/master/sshcommand
==> dokku: chmod +x /usr/local/bin/sshcommand
==> dokku: sshcommand create dokku /usr/local/bin/dokku
==> dokku: Adding user `dokku' ...
==> dokku: Adding new group `dokku' (1002) ...
==> dokku: Adding new user `dokku' (1002) with group `dokku' ...
==> dokku: Creating home directory `/home/dokku' ...
==> dokku: Copying files from `/etc/skel' ...
==> dokku: wget -qO /tmp/pluginhook_0.1.0_amd64.deb https://s3.amazonaws.com/progrium-pluginhook/pluginhook_0.1.0_amd64.deb
==> dokku: dpkg -i /tmp/pluginhook_0.1.0_amd64.deb
==> dokku: Selecting previously unselected package pluginhook.
==> dokku: (Reading database ... 61708 files and directories currently installed.)
==> dokku: Preparing to unpack .../tmp/pluginhook_0.1.0_amd64.deb ...
==> dokku: Unpacking pluginhook (0.1.0) ...
==> dokku: Setting up pluginhook (0.1.0) ...
==> dokku: lsmod | grep aufs || modprobe aufs || apt-get install -qq -y linux-image-extra-`uname -r` > /dev/null
==> dokku: modprobe: FATAL: Module aufs not found.
==> dokku: dpkg-preconfigure: unable to re-open stdin: No such file or directory
==> dokku: depmod: ERROR: openat(/lib/modules/3.13.0-45-generic, modules.dep.tmp, 1101, 644): Read-only file system
==> dokku: depmod: ERROR: openat(/lib/modules/3.13.0-45-generic, modules.dep.bin.tmp, 1101, 644): Read-only file system
==> dokku: depmod: ERROR: openat(/lib/modules/3.13.0-45-generic, modules.alias.tmp, 1101, 644): Read-only file system
==> dokku: depmod: ERROR: openat(/lib/modules/3.13.0-45-generic, modules.alias.bin.tmp, 1101, 644): Read-only file system
==> dokku: depmod: ERROR: openat(/lib/modules/3.13.0-45-generic, modules.softdep.tmp, 1101, 644): Read-only file system
==> dokku: depmod: ERROR: openat(/lib/modules/3.13.0-45-generic, modules.symbols.tmp, 1101, 644): Read-only file system
==> dokku: depmod: ERROR: openat(/lib/modules/3.13.0-45-generic, modules.symbols.bin.tmp, 1101, 644): Read-only file system
==> dokku: depmod: ERROR: openat(/lib/modules/3.13.0-45-generic, modules.builtin.bin.tmp, 1101, 644): Read-only file system
==> dokku: depmod: ERROR: openat(/lib/modules/3.13.0-45-generic, modules.devname.tmp, 1101, 644): Read-only file system
==> dokku: run-parts: executing /etc/kernel/postinst.d/apt-auto-removal
==> dokku:  3.13.0-45-generic
==> dokku:  /boot/vmlinuz-3.13.0-45-generic
==> dokku: /etc/kernel/postinst.d/apt-auto-removal: 84: /etc/kernel/postinst.d/apt-auto-removal: 
==> dokku: cannot create /etc/apt/apt.conf.d//01autoremove-kernels.dpkg-new: Read-only file system
==> dokku: run-parts: 
==> dokku: /etc/kernel/postinst.d/apt-auto-removal exited with return code 2
==> dokku: dpkg: error processing package linux-image-extra-3.13.0-45-generic (--configure):
==> dokku:  subprocess installed post-installation script returned error exit status 1
==> dokku: dpkg: unrecoverable fatal error, aborting:
==> dokku:  unable to flush updated status of `libc-bin': Read-only file system
==> dokku: touch: 
==> dokku: cannot touch '/var/lib/update-notifier/dpkg-run-stamp'
==> dokku: : Read-only file system
==> dokku: sh: 1: 
==> dokku: cannot create /var/lib/update-notifier/updates-available: Read-only file system
==> dokku: E
==> dokku: : 
==> dokku: Sub-process /usr/bin/dpkg returned an error code (2)
==> dokku: E
==> dokku: : 
==> dokku: Problem executing scripts DPkg::Post-Invoke 'if [ -d /var/lib/update-notifier ]; then touch /var/lib/update-notifier/dpkg-run-stamp; fi; if [ -e /var/lib/update-notifier/updates-available ]; then echo > /var/lib/update-notifier/updates-available; fi '
==> dokku: E: Sub-process returned an error code
==> dokku: make: 
==> dokku: *** [aufs] Error 100
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

有什么想法吗?

也许那个教程有点过时了...

我找到了更新的参考资料。

http://progrium.viewdocs.io/dokku/getting-started/install/vagrant

P.S。我也更新了 Virtualbox,现在一切正常。