U
U
unfapable2016-06-08 20:21:28
Vagrant
unfapable, 2016-06-08 20:21:28

What is the best way to do local development?

I am using open server to develop php sites. But I found out that it's kind of like old school now and in general it's almost a bad form, is it?
I'm far from vagrant or docker, but they seem to be used for development? It turns out that for each project you will have your own virtual machine, isn't it troublesome compared to local development?
Which of these tools is best to use? I guess docker is an alternative to vagrant? Sorry for the childish questions, but I really want to switch to "serious" or "modern" development, but I don't know where to start?

Answer the question

In order to leave comments, you need to log in

6 answer(s)
B
boramod, 2016-06-08
@unfapable

Simplified.
Vagrant is a configuration management system for a specific machine.
Docker - running isolated processes on a machine.
Docker.
This is not a virtual machine, but running isolated processes. That is, the running process thinks that it is the only one, and there is nothing around. This works at the level of the Linux kernel. Without the use of virtual machines.
In Docker terminology, there are Images and Containers.
Image - an image, a template based on which the Container is launched.
Image is built from some base OS image.
Container is a service launched and built on top of Image.
Thus, you can build multiple images, for example, an Nginx image, a PHP image, a MySQL image. In addition, you can build multiple images for each version of PHP, MySQL, etc. you want.
Each of these images will have some OS in its database. That is, the environment on which Docker is running is isolated.
Based on the built images, you can run Containers, i.e., directly build a working environment. Each running container thinks that it is running alone, in the image of an inherited OS. But in fact, this is just a separate process running at the level of the Linux kernel, without virtualization . That is, you do not have the overhead of virtual machines. Container isolation is done at the kernel level.
With all of this, your base system remains clean of installable packages, free of clutter with libraries, versions, and so on.
Both tools are good. But each has its own purpose.
Vagrant is a great tool for configuring remote machines from scratch, VDS/VPS, etc.
Docker is a great tool for quickly deploying / reconfiguring a working environment, with little or no change to the system on which it is installed.

B
Boris Yakushev, 2016-06-09
@za4me

What is the best way to do local development?

On what is most convenient for you.

E
evnuh, 2016-06-09
@evnuh

Guys, why are you all so trendy? If you yourself do not know why you need it, then why use it? When you understand that you definitely need it, that it will speed up / simplify development, then use it. And using for the sake of just using and learning is clearly a bad way.

Q
qweqwa, 2016-06-09
@qweqwa

Using Docker, Vagrants or just virtual machines is only necessary if you want to completely recreate your server environment.
It makes sense to immediately perform all the settings on your own, so that you can then simply transfer them to the server.
But if you don’t need the full identity of the development environment and the runtime environment, then you can perfectly debug without all this.

D
Dim Boy, 2016-06-08
@twix007

Well, you can set up vps in virtualbox and use it as a hosting for development, why invent...!?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question