Docksal: Better than VMs
Update: BoF for QnA and follow-up discussions: Room 311 @ 3:45PM
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.