Hi Jamie, sounds familiar.
You might also be interested in: https://github.com/fgrehm/vagrant-lxc which is conceptually more similar to your original approach with nested VMs https://github.com/tknerr/bills-kitchen which shows another approach on how you can bundle development environment for Windows users (in this case for Vagrant / Chef development ;-)) HTH, Torben Am 08.10.2014 20:34 schrieb "Jamie Jackson" <jamieja...@gmail.com>: > Thanks a lot for the response, Alvaro, > > Let me throw a couple things at you: > > I normally do all my work in a Linux VirtualBox guest within my > (company-supplied) Windows host. I'd prefer to have a Linux host, but it is > what it is. > > I needed to create a consistent development environment to share with my > team, and I found Vagrant. > > When I started with Vagrant a short time ago, I started out trying to run > Vagrant commands within my guest, but quickly found that VirtualBox doesn't > support nested VMs, so that was a brick wall. Then I resorted to running > the Vagrant commands on the Windows host. That worked: I was able to spin > up and provision a box on-the-fly, create a host-only network, and connect > to the development site via a static host-only IP and a hosts entry. > However, I was still sad that I had to do my Vagrant development on Windows. > > Then, I discovered Docker, and I realized that it might be possible to > work within my preferred Linux VM by using the Docker provider in there (to > get around the nested VM problem). So, that's what I'm working through at > the moment. > > You mentioned potentially forcing the use of a proxy VM, but due to the > reasons I mentioned, it's not preferable. I'd like to come up with a > solution that will work both from my Linux VM, and my other teammates' > Windows & Mac boxes. (In other words the ideal scenario would be to have > Vagrant automatically use Docker right in my Linux environment, but > automatically use a proxy on the Windows and Mac boxes.) > > So, combining the things you mentioned with my requirements: > > Must I do port forwarding/mapping (or whatever it's called) to map the > container's port 443 to some other port on the host (which happens to be a > VM itself)? If I have to do that, what's the technical reason for that? Is > it just because Docker won't do static IPs, and therefore a hosts entry > would get invalidated every time I brought up the container? > > I hope I made sense and haven't bored everyone to death. > > Thanks, > Jamie > > On Friday, October 3, 2014 6:31:23 PM UTC-4, Alvaro Miranda Aguilera wrote: >> >> Hello >> >> you need to glue 2 things. >> >> glue1, >> >> you can force to always use a proxy linux box, in that case your linux >> box will be the same as win or mac >> >> by default, a new vm will be fired up, and a docker container will run >> inside. >> the simple approach is just 1 vagrantfile for the docker, here you do >> vagrant up and vagrant does the magic >> >> now, you can get a bit more in control of this, a have 2 vagrantfiles, >> one for the base host where docker will run, and one for the docker it self >> >> in the documentation, have a look around here: >> >> https://docs.vagrantup.com/v2/docker/basics.html >> >> Read about the host VM >> >> basically you define a vagrantfile that will be used for this host: >> >> config.vm.provider "docker" do |d| >> d.vagrant_vagrantfile = "../path/to/Vagrantfile" >> end >> >> Here, let me say it again, with this you get more control on your base >> box, so you would be able to specify the base box, provider, and scripts to >> provision. >> >> glue2. >> >> In the docker file you can expose ports, so you can run a web server >> expose 80 on the docker to 80 on the host (vm) >> >> then on the vagrantfile of that box, you can expost that 80 to the real >> host as say 8080 >> >> Docker 80 -> vm 80 -> real pc 8080 >> >> make any sense? >> >> The docker way to do it is you expose ports to the base host. >> >> >> On Fri, Oct 3, 2014 at 5:29 PM, Jamie Jackson <jamie...@gmail.com> wrote: >> >>> Hi Folks, >>> >>> I'm pretty new to Vagrant, but I managed to create a VirtualBox VM with >>> an app stack and an auto-populated Maria DB, which I'll be able to share >>> with other developers on the team just by giving them a directory with a >>> Vagrantfile and included shell provisioner scripts. >>> >>> Just today, I started playing with switching the provider over to >>> Docker. That's had some snags along the way, but I think most of it is >>> worked out. However, one thing I'm used to with the VirtualBox provider is >>> being able to specify a static IP for the VM for host-only communication: >>> >>> >>> config.vm.network :private_network, ip: "192.168.56.10" >>> >>> >>> Then, I can simply have a permanent host entry of: >>> >>> 192.168.56.10 local.mysite.com >>> >>> >>> I haven't figured out how to do the same with the Docker provider. [It >>> assigns the IP dynamically, and it seems to change for some (maybe all) >>> vagrant ups.] >>> >>> How do I accomplish this sort of thing with the Docker provider? For >>> what it's worth, I'm developing the Vagrant project on Linux, but it will >>> be also used by teammates on Macs and Windows. >>> >>> Thanks, >>> Jamie >>> >>> -- >>> 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 vagrant-up+...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > 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 vagrant-up+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- 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 vagrant-up+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.