Open mlevin2 opened 9 years ago
:+1:, docker is already at 1.4.0.
1.5.0 is out now
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?
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:
vb.name
for VirtualBox to "boot2docker-vagrant" so it's more useful than the annoying "default" in vagrant global-status
and the GUI, etc.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…).
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.
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.
Or you can just:
master
branch, edit the template.json
file to leave only the vbox image buildingpacker
Vagrantfile
using the image you just build: it will be your docker hostVagrantfile
, set d.vagrant_vagrantfile
to the path of your docker host Vagrantfile
It's not that complicated.
Hi,
Thanks for providing this. Works great. Wondering if you will be upgrading to support 1.3.1 any time soon.