Search code examples
mysqldockervagrantpuppet

Vagrant + puppet + docker


I'm new with this technologies but I want to learn about automation and containers stuff.

I read some documentation about this 3 products and I want to know if is possible to automate almost everything in a large environment using this products.

  1. Vagrant for deploy VMs (let's say 10 at the same time)

  2. Docker to create containers with different softwares. Is it possible to create a container for apache one for mysql ...? Can this containers have dependecies between them, like if I want to run the mysql container automatically to run first the apache one?

  3. Puppet to launch/run the dockers containers on all VMs at the same time.

Is it possible that? I see this 3 products complementary but I want to know also your opinion.

Thanks

Best regards, HB


Solution

  • I would skip Vagrant step. Docker containers are enough in most cases.

    Ad. 2.

    Of course you can create separate containers for each instance and app (e.g. one for server app, one for database and one for some queue).

    You manage dependencies between containers using link command (read here).

    To automate run/launch commands use docker-compose. It handle dependencies, variables, multiple instances and scaling. More here.