jdufner / microservice

Showcase of a microserivce architecture using the Spring Boot Netflix stack.
Apache License 2.0
3 stars 4 forks source link

Use Vagrant as wrapper for vmware #31

Closed jdufner closed 7 years ago

jdufner commented 7 years ago

Docker doesn't run at Windows, there you have to run it in a virtual machine like VirtualBox oder vmware, but you can simplify the usage of virtual machines with Vagrant.

@Jumiboy It possible to explore usage of vagrant and supply a short documentation?

bfassbender commented 7 years ago

Which goal are we trying to reach by opting for Vagrant instead of plain Docker? Are we aiming for more ease-of-use when trying our project on a Windows or MacOS machine?

You still need to install something on Windows or MacOS (here: Vagrant) to have it set up a VM and run docker containers inside. Why install Vagrant to have it install Docker in turn? You can install Docker for Windows / MacOS directly and go with that.

Jumiboy commented 7 years ago

I just searched for a comparison between both:

http://stackoverflow.com/questions/16647069/should-i-use-vagrant-or-docker-for-creating-an-isolated-environment

If your purpose is the isolation, I think Docker is what you want.

Vagrant is a virtual machine manager. It allows you to script the virtual machine configuration as well as the provisioning. However, it is still a virtual machine depending on VirtualBox (or others) with a huge overhead. It requires you to have a hard drive file that can be huge, it takes a lot of ram, and performance may be not very good.

Docker on the other hand uses kernel cgroup and namespacing via LXC. It means that you are using the same kernel as the host and the same file system. You can use Dockerfile with the docker build command in order to handle the provisioning and configuration of your container. You have an example at docs.docker.com on how to make your Dockerfile; it is very intuitive.

The only reason you could want to use Vagrant is if you need to do BSD, Windows or other non-Linux development on your Ubuntu box. Otherwise, go for Docker.

Jumiboy commented 7 years ago

I guess Jürgens intention with vagrant is to simplify virtualbox handling on win, rather as a surrogate to docker.

Correct?

bfassbender commented 7 years ago

As I do not own a windows machine atm, is it hard to install docker for windows package or docker toolbox on older machines and then just call docker-machine start default on the console or something?

Is vagrant smoother? I still need to do vagrant up.

jdufner commented 7 years ago

My intention is, that Docker doesn't run at Win Home Edition, you need Pro or Enterprise.

Docker for Windows

Docker for Windows is our newest offering for PCs. It runs as a native Windows application and uses Hyper-V to virtualize the Docker Engine environment and Linux kernel-specific features for the Docker daemon.

Go to Getting Started with Docker for Windows for download and install instructions, and to learn all about Docker for Windows.

Requirements

64bit Windows 10 Pro, Enterprise and Education (1511 November update, Build 10586 or later). In the future we will support more versions of Windows 10.

The Hyper-V package must be enabled. The Docker for Windows installer will enable it for you, if needed. (This requires a reboot).

bfassbender commented 7 years ago

So https://docs.docker.com/toolbox/overview/ is no option?

jdufner commented 7 years ago

It looks interesting. It seems it is what want. I'll test it still today.

jdufner commented 7 years ago

Close #31