Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What use cases of Docker on real projects

I have read what the Docker is but having hard time finding of what are the real scenarios of using Docker?

It would be great to see here your usages.

like image 578
Ivan Voroshilin Avatar asked Oct 15 '14 09:10

Ivan Voroshilin


3 Answers

I'm replicating production environment with it, on commit on project with jenkins after building binaries i deploy there, launch the required daemons and run integration tests, all in a very short time (a few seconds over the time that takes the integration tests). Having no need to boot, and little overhead on memory/cpu/disk is great for that kind of things.

I could extend that use for development (just adding a volume where the code resides to my git repository, at least for scripting languages) to have the production environment with the code im actually editing, at a fraction of what virtualbox would require.

Also needed to test how to integrate some 3rd party code into a production system that modified DB. Cloned the DB in a container, installed the production system in another, launched both and iterated the integration until i did it well, going back to zero to try again in seconds, and faster, cheaper and more scriptable than doing it with VMs+snapshots.

Also run several desktop browser instances on containers, with their own plugins, cookies, data storage and so on separated. The docker repository example for desktop integration is a good start for it, but planning to test subuser to extend this kind of usage.

like image 119
gmuslera Avatar answered Nov 15 '22 21:11

gmuslera


I've used Docker to implement a virtualized build server which any user could ask to run a build off their personal git branch in our canonical environment.

Each SSH connection made to the server was connected to a new container, ensuring that all builds were isolated from each other (a major pain point in the past), ensuring that the container's state couldn't be corrupted (since changes were all isolated to that single instance), and ensuring that even developers on platforms such as Windows where Docker (and other tools in our canonical build environment) couldn't be run locally would be able to run builds.

like image 29
Charles Duffy Avatar answered Nov 15 '22 20:11

Charles Duffy


We use it for the following uses:

We have a Jenkins Container which we can use to bring up our Jenkins server. We mount the workspace using volumes so we can migrate the server easily just by copying the files and launching the container somewhere else.

We use a Jetty container to easily deploy our war files in our production and development environment.

We use a whole host of other monitoring tools such as Uptime which we have containers for so that we can bring them up and down on various hosts with a single command.

like image 1
Usman Ismail Avatar answered Nov 15 '22 21:11

Usman Ismail