Hello All,
I'm trying to test out the new docker support and it doesn't work for
me.
I've tried two different scenarios, and they both fail. I watched the
Vagrant up blog
videos<http://www.vagrantup.com/blog/feature-preview-vagrant-1-6-docker-dev-environments.html>and
Robert
Berger's github
post<https://github.com/RobertBerger/vagrant-phusion-baseimage>for
background info.
Environment (OSX 10.9.2):
[wfroning@waf-pc vagrant]$ vagrant -v
Vagrant 1.6.2
[wfroning@waf-pc vagrant]$ vagrant box list
freebsd91-amd64 (vmware_fusion, 0)
hashicorp/precise64 (vmware_fusion, 1.1.0)
mitchellh/boot2docker (vmware_desktop, 0.8.0)
phusion/ubuntu-12.04-amd64 (vmware_fusion, 2014.05.11)
precise64 (vmware_fusion, 0)
raring64 (vmware_fusion, 0)
squeeze64 (vmware_fusion, 0)
[wfroning@waf-pc vagrant]$ vagrant plugin list
vagrant-login (1.0.1, system)
vagrant-share (1.0.1, system)
vagrant-vmware-fusion (2.4.1)
Scenario 1
------------------------------
Use the native boot2docker support with a simple Vagrantfile:
[wfroning@waf-pc vagrant]$ cat Vagrantfile
Vagrant.configure("2") do |config|
config.vm.provider "docker" do |docker|
docker.image = "paintedfox/postgresql"
end
end
vagrant up --provider --debug pukes after a while with this:
INFO interface: error: An error occurred while executing `vmrun`, a
utility for controlling
VMware machines. The command and output are below:
Command: ["start",
"/Users/wfroning/.vagrant.d/data/docker-host/.vagrant/machines/default/vmware_fusion/28a19efe-6b25-4a69-b2a7-a7e4f320e7c7/packer-vmware-iso.vmx",
"nogui", {:notify=>[:stdout, :stderr]}]
Stdout: 2014-05-15T07:40:28.902| ServiceImpl_Opener: PID 23848
Error: The operation was canceled
Stderr:
An error occurred while executing `vmrun`, a utility for controlling
VMware machines. The command and output are below:
Command: ["start",
"/Users/wfroning/.vagrant.d/data/docker-host/.vagrant/machines/default/vmware_fusion/28a19efe-6b25-4a69-b2a7-a7e4f320e7c7/packer-vmware-iso.vmx",
"nogui", {:notify=>[:stdout, :stderr]}]
Stdout: 2014-05-15T07:40:28.902| ServiceImpl_Opener: PID 23848
Error: The operation was canceled
Stderr:
INFO interface: Machine: error-exit
["HashiCorp::VagrantVMwarefusion::Errors::VMRunError", "An error
occurred while executing `vmrun`, a utility for controlling\nVMware
machines. The command and output are below:\n\nCommand: [\"start\",
\"/Users/wfroning/.vagrant.d/data/docker-host/.vagrant/machines/default/vmware_fusion/28a19efe-6b25-4a69-b2a7-a7e4f320e7c7/packer-vmware-iso.vmx\",
\"nogui\", {:notify=>[:stdout, :stderr]}]\n\nStdout:
2014-05-15T07:40:28.902| ServiceImpl_Opener: PID 23848\nError: The
operation was canceled\n\nStderr: "]
So I figure I will test out the boot2docker VM in Fusion. I get the
dreaded VMWare "Upgrade VM" prompt and I click ok. It gets past the
POST
and complains of no OS. I try again without clicking upgrading the VM
and... same problem.
So in summary boot2docker native support completely fails on OSX
10.9.2 +
Fusion 6.0.3 because the boot2docker image is broke.
For those following the video posts from the
blog<http://www.vagrantup.com/blog/feature-preview-vagrant-1-6-docker-dev-environments.html>,
that was video 1.
Scenario 2
------------------------------
I then attempt video 2 from the blog with some hints from Robert
Berger.
Vagrantfile:
Vagrant.configure("2") do |config|
config.vm.define "phusion" do |v|
v.vm.provider "docker" do |d|
d.cmd = ["/sbin/my_init", "--enable-insecure-key"]
d.image = "phusion/baseimage"
d.has_ssh = true
d.vagrant_vagrantfile = "./docker/Vagrantfile"
end
v.ssh.username = "root"
v.ssh.private_key_path = "phusion.key"
v.ssh.port = "22"
v.vm.provision "shell", inline: "echo Hello"
v.vm.synced_folder "./keys", "/vagrant"
end
end
./docker/Vagrantfile:
Vagrant.configure("2") do |config|
# by default we use a 64 box
#config.vm.box = "hashicorp/precise64"
config.vm.box = "phusion/ubuntu-12.04-amd64"
#config.vm.network :forwarded_port, guest: 4243, host: 4142
# fix vmware gui
#config.vm.provider :vmware_fusion do |fusion|
# fusion.gui = true
#end
# common stuff (32 and 64 bit)
config.vm.provision "docker"
config.vm.provision "shell", inline:
"ps aux | grep 'sshd:' | awk '{print $2}' | xargs kill"
end
A vagrant up --provider=docker --debug eventually errors out while
waiting for the VM to come online. So I enable the Fusion GUI in
./docker/Vagrantfile to see what's going on.
"Do you want to upgrade this virtual machine?" Seriously... again? I
don't
upgrade and it pulls down phusion/baseimage starts the container and
pukes.
INFO interface: error: The container started either never left the
"stopped" state or
very quickly reverted to the "stopped" state. This is usually
because the container didn't execute a command that kept it running,
and usually indicates a misconfiguration.
If you meant for this container to not remain running, please
set the Docker provider configuration "remains_running" to "false":
config.vm.provider "docker" do |d|
d.remains_running = false
end
The container started either never left the "stopped" state or
very quickly reverted to the "stopped" state. This is usually
because the container didn't execute a command that kept it running,
and usually indicates a misconfiguration.
If you meant for this container to not remain running, please
set the Docker provider configuration "remains_running" to "false":
config.vm.provider "docker" do |d|
d.remains_running = false
end
INFO interface: Machine: error-exit
["VagrantPlugins::DockerProvider::Errors::StateStopped", "The
container started either never left the \"stopped\" state or\nvery
quickly reverted to the \"stopped\" state. This is usually\nbecause
the container didn't execute a command that kept it running,\nand
usually indicates a misconfiguration.\n\nIf you meant for this
container to not remain running, please\nset the Docker provider
configuration \"remains_running\" to \"false\":\n\n
config.vm.provider \"docker\" do |d|\n d.remains_running = false\n
end"]
So I give up on hashicorp and switch to phusion with Fusion GUI
disabled.
The phusion image also fails. Although, when I enable the GUI in
docker/Vagrantfile it all starts to magically work.
I see docker get installed (oh yeah getting there).
I see 'phusion/baseimage' gets pulled down (don't tease me).
I see the container start up (is this really gonna happen?!?).
==> phusion: Hello
What... WHAT? Did that just happen? It flipping worked! Is that an
angel I
see? Did the clouds just part and a double rainbow shine through?
I'm going to buy a lotto ticket.
Summary
------------------------------
1.
There are a few bugs hiding in there. I have no clue why enabling the
GUI was the trigger to get all this to work.
2.
It's obvious the default images aren't getting the same amount of
care
and feeding that the phusion images are. This is disappointing.
3.
Docker conflicts with CrashPlan (port 4243). Where the heck am I
supposed to change the forwarded port when using the default docker
provider (boot2docker)?
4.
Finally, I pay for a VMWare license because that is the only way to
support Vagrant, and it's an awesome product. Why doesn't Fusion work
before Virtualbox?
Thanks,
Will
--
Will Froning
[email protected]
--
You received this message because you are subscribed to the Google
Groups
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it,
send an
email to [email protected].
For more options, visit https://groups.google.com/d/optout.