Hi Jamie,

Am 09.10.2014 17:25 schrieb "Jamie Jackson" <[email protected]>:
>
> Thanks, Torben,
>
> First impressions, below...
>
> Thanks for the links,
>
> Jamie
>
> On Thu, Oct 9, 2014 at 1:14 AM, Torben Knerr <[email protected]>
wrote:
>>
>> 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
>
> For someone (me) who is fairly new to Vagrant, and extremely new to
Docker, vagrant-lxc seems so similar to the Docker provider that I don't
understand why both exist.
http://fabiorehm.com/blog/2013/04/28/lxc-provider-for-vagrant/ didn't help
me understand.
>>

Docker is an abstraction on top of lxc.

With lxc you are on the same abstraction level as VMs but with a more
lightweight approach (containerization vs. virtualization).

Docker adds an incremental filesystem + dockerfile + layering of images +
an image registry on top of that.

>> 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 ;-))
>
> This might be super-obvious to others, but I couldn't exactly tell what
your project is for. (FYI, I've only used shell provisioners, as I planned
to save the learning curve of the advanced provisioners for a later date.
Baby steps.) I think your readme might benefit from one or two use-cases:
"Here's problem A, and here's how BK solves it..."
>>

Thanks for the feedback, I will consider that.

Well, its just a development environment shrinkwrapped in a .zip package
that you can extract on a windoze machine and start hacking with chef +
vagrant. I'm using the same pattern for Java-based and other development
environments as well.

It's just another alternative to distributing development environments in
terms of VMs via vagrant. Each has its pro's and con's for sure...

Cheers,
Torben

>> HTH,
>>
>> Torben
>>
>> Am 08.10.2014 20:34 schrieb "Jamie Jackson" <[email protected]>:
>>>
>>> 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 <[email protected]>
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 [email protected].
>>>>> 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 [email protected].
>>> 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 [email protected].
>>
>> 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 [email protected].
> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to