boot2docker-vagrant-box icon indicating copy to clipboard operation
boot2docker-vagrant-box copied to clipboard

Update to 1.3.1

Open mlevin2 opened this issue 11 years ago • 7 comments

Hi,

Thanks for providing this. Works great. Wondering if you will be upgrading to support 1.3.1 any time soon.

mlevin2 avatar Dec 01 '14 15:12 mlevin2

:+1:, docker is already at 1.4.0.

jure avatar Feb 04 '15 10:02 jure

1.5.0 is out now

jwhitcraft avatar Mar 09 '15 17:03 jwhitcraft

Hi,

just checking in to see if either I'm clueless or this problem indeed persists. I'm running vagrant 1.7.2 courtesy of Homebrew.

Vagrant is using the default mitchellh/boot2docker box with version 1.2.0 which has docker version 1.2.0 and API version 1.14 for both client and server. the issue is that Homebrew has installed docker client version 1.18 and API version 1.6.0.

pointing my $DOCKER_HOST at the default vm that vagrant automatically sets up and executing a docker command (e.g. docker ps -a) locally (on my mac) then yields the error

FATA[0000] Error response from daemon: client and server don't have same version (client : 1.18, server: 1.14)

I've tried deleting the box file ~/.vagrant.d/boxes/mitchellh-VAGRANTSLASH-boot2docker, which forces an update, but keep getting the same version (1.2.0).

I really like vagrant and it's tao/zen/etc, but this is a major issue for me, as it renders my local docker cli useless. Is the issue really that the box's version is out of date (which could be fixed by a simple update/push by @mitchellh ?), or am I missing something?

WillChilds-Klein avatar Apr 28 '15 17:04 WillChilds-Klein

Because this box is always woefully behind, I would recommend that you all just use yungsang/boot2docker, or else get used to building your own up-to-date version of this box by following the Packer instructions in the README.

Vagrant has a built-in Vagrantfile to use mitchellh/boot2docker by default when you use the Docker provider. The docs tell us how to override this (see the "Host VM" section of the page). In short, you just need to add the following to the Vagrantfile in your project:

# Override Vagrant's default Docker host VM that uses mitchellh/boot2docker box
config.vm.provider "docker" do |d|
  d.vagrant_vagrantfile = "./dockerhost/Vagrantfile"
end

Then, create ./dockerhost/Vagrantfile (or wherever you wish to put it) by copying the contents of Vagrant's default version, and updating it to your liking:

  • Change the box to point to the one you built (or YungSang's if you trust it).
  • Bumping the RAM higher than default is a good idea.
  • I like to set vb.name for VirtualBox to "boot2docker-vagrant" so it's more useful than the annoying "default" in vagrant global-status and the GUI, etc.
  • YungSang enables NFS on his boot2docker image—if using his box, enable it in the host Vagrantfile if you wish.

If there's an appropriate place to document these steps in more detail than they're already covered by the provider doc linked above, I'll be happy to whip up a doc PR. Mitchell's a busy guy. I wish he'd find a way to enable some others to keep this box up-to-date since it's a default in Vagrant core (and give some love to vagrant-aws, but don't get me started…).

ches avatar May 02 '15 22:05 ches

awesome, thanks @ches for the tips! I agree, having those instructions in Vagrant's docs would be super helpful. Since leaving that comment, I've switched to Docker Machine for all of my docker-related VM/host management needs. Machine has been a wonderful tool for me so far, and I'd suggest it to anyone encountering these issues.

That said, I really do appreciate Vagrant. I use it for all of my non-docker VM management needs, and will be keeping tabs on this so I can switch back once doing so is more practical.

WillChilds-Klein avatar May 08 '15 01:05 WillChilds-Klein

I will also draw attention to Dinghy: https://github.com/codekitchen/dinghy

Built as a derivative of this project with boot2docker. As of this writing it's @ 1.7.0 and is a very easy deploy to get it up and running. Wish I had found that yesterday - would have saved me hours.

rjbrown99 avatar Jun 28 '15 23:06 rjbrown99

Or you can just:

  1. Clone this repo
  2. From the master branch, edit the template.json file to leave only the vbox image building
  3. Then build it with packer
  4. Create a Vagrantfile using the image you just build: it will be your docker host
  5. In your app Vagrantfile, set d.vagrant_vagrantfile to the path of your docker host Vagrantfile

It's not that complicated.

improved-broccoli avatar Jul 20 '15 19:07 improved-broccoli