You can use Docker to have a local CONSUL installation for development if:
  • You're having troubles having prerequisites installed.
  • You want to do a quick local installation just to try CONSUL or make a demo.
  • You prefer not to interfer with other rails installations.


You should have installed Docker and Docker Compose in your machine:


You can follow the official docker install
Or if you have homebrew and cask installed you can just:
brew install docker
brew install docker-compose
brew cask install docker
open -a docker
You'll be asked to give Docker app permissions and type your password, then you're set.


  1. 1.
    Install Docker:
sudo apt-get update
sudo apt-key adv --keyserver hkp:// --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-add-repository 'deb ubuntu-xenial main'
sudo apt-get update
apt-cache policy docker-engine
sudo apt-get install -y docker-engine
  1. 1.
    Install Docker Compose
sudo curl -o /usr/local/bin/docker-compose -L "$(uname -s)-$(uname -m)"
sudo chmod +x /usr/local/bin/docker-compose


Go to the [](Get Started with Docker) page. Under Docker Desktop, select Download for Windows with default options checked, and run. Should take about 5 minutes.
If you encounter the "WSL 2 installation incomplete" error:
  1. 1.
    Start PowerShell as Administrator
  2. 2.
    Run dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  3. 3.
    Run dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  4. 5.
    Run wsl --set-default-version 2
  5. 6.
    Restart your PC
  6. 7.
    The Docker Enginer will start up. Give it a few minutes. You now have the option of using the docker desktop app (GUI) and docker PowerShell/Bash commands


Clone the repo on your computer and enter the folder:
git clone
cd consul

macOS & Linux

Then lets create our secrets and database config files based on examples:
cp config/secrets.yml.example config/secrets.yml
cp config/database-docker.yml.example config/database.yml
Then you'll have to build the container with:
POSTGRES_PASSWORD=password docker-compose build
Start the database service:
POSTGRES_PASSWORD=password docker-compose up -d database
You can now initialize your development DB and populate it with:
POSTGRES_PASSWORD=password docker-compose run app rake db:create db:migrate
POSTGRES_PASSWORD=password docker-compose run app rake db:dev_seed


Pending to be completed... Contributions Welcome!

Running local CONSUL with Docker

macOS & Linux

Now we can finally run the application with:
POSTGRES_PASSWORD=password docker-compose up
And you'll be able to access it at your browser visiting http://localhost:3000
Additionally, if you want to run the rails console just run in another terminal:
POSTGRES_PASSWORD=password docker-compose run app rails console
To verify the containers are up execute:
docker ps .
You should see output similar to this:


Pending to be completed... Contributions Welcome!

Having trouble?

Run these commands at Consul's directory, to erase all your previous Consul's Docker images and containers. Then restart the Docker installation process:
  1. 1.
    Remove all CONSUL images:
docker-compose down --rmi all -v --remove-orphans
  1. 1.
    Remove all CONSUL containers
docker-compose rm -f -s -v
  1. 1.
    Verify if there is some container yet:
docker ps -a
Case positive, remove each one manually:
docker container rm <container_id>