Docker and Docker Compose based environments for web development.
Docksal is still under active development. Breaking changes and outdated docs are very possible.
We plan to have a 1.0 Release Candidate in November 2016.
Please help us by testing, submitting issues and PRs. Thanks!
Running a complete LAMP stack for Drupal, WordPress or a pure HTML/PHP base website is two commands away!*
git clone <sample-project-repo>
fin init
Try one of the preconfigured projects:
*Once you are done with a one-time Docksal environment setup
Please review system requirements before proceeding with the setup.
-
This is done one time per host and should be performed by everyone.
-
Configure a project to use Docksal
This is done one time per project and should be performed by the project TL.
fin update
If updating from versions below v0.7.0
fin update self && fin update
Drude used to rely on Vagrant and vagrant-boot2docker for running Docker.
Docksal uses Docker Machine, which is more native and supports seamless (non-destructive) Docker version updates.
Vagrant machine is not going to be used anymore and should be deleted.
-
Create dumps of databases you need with
drush
-
vagrant destroy
the old Drude VMGo to your Drude projects folder (the one with
Vagrantfile
andvagrant.yml
) and usevagrant destroy
to destroy the Drude VM. If you happened to have several of them, please destroy all.It is very important to use
vagrant destroy
and not delete the VM manually in VirtualBox.
Vagrant has to clean things up properly and that is whatvagrant destroy
is for. -
Uninstall vagrant if you do not plan to use it for other purposes
Depending on how Vagrant was installed you will either have to uninstall it manually or via
brew uninstall vagrant
on Mac /choco uninstall vagrant
on Windows -
Follow instructions in Docksal environment setup
-
Start your project just like you did before with
fin up
and re-import your DB dump.Notice it will use Docker Machine now. New Docker Machine will be created upon first start.
-
Run
fin cleanup
to delete Drude files and backups
The steps below will remove the Docksal VM and cleanup Docksal stuff.
fin vm remove
rm -rf ~/.docksal
rm -f /usr/local/bin/fin
Docker for Mac/Windows and VirtualBox are not automatically removed. You can remove them manually on Mac or use uninstaller on Windows.
To remove Docker on Ubuntu Linux you need to:
- Follow Docker Uninstallation instruction
- Cleanup tools:
sudo rm /usr/local/bin/docker-compose
sudo rm /usr/local/bin/docker-machine
Docksal Fin is a console tool that simplifies day-to-day work with Docksal. It provides a set of most commonly used commands and operations for controlling the Docksal VM (Mac and Windows), containers, running drush or other commands inside the cli container.
See fin help
for a complete list.
fin
detects the environment it is launched in and will automatically start a VM and launch containers as necessary.
fin
runs on Mac and Linux directly. On Windows it runs inside the Babun Shell.
The cli container is meant to serve as a single console to access all necessary command line tools.
You can access cli container's console with fin
:
fin bash
For the list of tools available inside the cli container check here
- Drupal settings
- Overriding default PHP/MySQL/etc. settings
- Running multiple projects
- DB sandbox mode
- MySQL DB access for external tools
- Extending fin with custom commands
- Debugging with Xdebug and PhpStorm
- Using PHP Code Sniffer (phpcs, phpcbf)
- Using Blackfire profiler
- Public access via ngrok
- Using Behat
- Sending and capturing e-mail
- Enabling Varnish support
- Enabling Apache Solr support
- Using Sass
- Using custom ssh keys (with or without passwords) via ssh-agent
If something went wrong, first try one/all these steps in the order listed below. Check if the issue went away after each step.
- Update Docksal to the latest version. See updates section.
- Restart the Docksal VM (Mac and Windows only):
fin vm restart
- Reset Docksal system services:
fin reset system
- Reboot the host system (your computer or remote server)
- Reset the Docksal VM (Mac and Windows only):
fin vm rm
thenfin vm start
(WARNING: backup your DB data before doing this)
If you are still reading this, then go ahead and search the issue queue. Others may have experienced the same or a similar issue and have already found a solution or a workaround.
File a new issue if your problem looks to be brand new.