Docksal: Better than VMs

Presenters: davidhernandez

Session Recording: https://youtu.be/u_MM-kh9ar0

Getting a project up and running locally should be something "quick and easy". Pull the code, start the stack, maybe grab a DB dump and files, import. Done.

Unfortunately, the reality is somewhat different. Too often that takes hours or even days. Manual setup is tedious, VMs and Vagrant boxes take forever to build or fail to build at all. Developers spend time dealing with sysadmin issues and configurations instead of writing code.

Let's see how all of this can be handled with just two commands.

  • git clone <project-repo>
  • fin init

This is the workflow we are using at FFW and we are doing that with Docksal.

Docksal is an open-source tool created by FFW for defining and managing development environments. It brings together common development tools, minimizes time spent on configuration, and ensures the consistency of local development environments throughout a team’s continuous integration workflow.

Docksal automatically configures each project's environment to ensure team members are using the same tools, and versions, regardless of the individual requirements of each project. Most importantly, it makes the entire process easy. Docksal offers fully containerized environments with Docker, provides cross-platform support (MacOS, Windows, and Linux,) and has built-in tools that include:

  • Drush (6,7,8), Drupal Console, WP-CLI, Composer, PHP Code Sniffer
  • Ruby (with bundler), Node.js (with nvm, nmp), Python
  • Apache Solr, Varnish, Memcache and more (including BYO)
  • Built-in testing support with Behat and Selenium
  • Zero configuration Xdebug support with PhpStorm

Docksal will even automatically configure virtual hosts for you, so no more editing host files and server configurations.

In this session we will:

  • Go over the basics of using Docker for local development
  • Compare the Docker based vs the VM based approach
  • Go over the pain points that Docksal eliminates
  • Initialize instant environments with zero configuration
  • Get a Drupal7 and a Drupal8 site running side by side using different stack versions
  • See how Docksal can be integrated into an existing project
  • Have a sneak peek into some more advanced use case supported in Docksal (e.g. complex, production-like stacks)

Prior experience using VMs and/or Docker is a plus, but not required.

This will be a take on the same talk Leonid Makarov did at DrupalCon Baltimore. https://events.drupal.org/baltimore2017/sessions/better-vms

Audience
Experience Level
Beginner
Schedule Info
Conference Year
2017
Date / Time
Room
Room G1/G2
Status
Accepted
Session Track
Devops, Performance, Security, and Privacy