Setup Docker for development

Docker is the preferred way to set up your development environment in Mashup Garage projects. With Docker, we're able to achieve parity across different development environments, no matter what their choice of OS's are.

Getting started

Docker is available for Linux, MacOS, and Windows.

MacOS

Docker for Mac is best installed with Homebrew and Homebrew Cask. For other ways to install on MacOS, see Install Docker for Mac in Docker's docs.

brew cask install docker       # Install Docker
open /Applications/Docker.app  # Start Docker

:bulb: Tip: Avoid Docker Toolbox and boot2docker. These are older packages that have been ceded by Docker for Mac.

Arch Linux

Docker is available in Arch Linux's repositories. Also see Docker in ArchWiki.

sudo pacman -Syu docker          # Install Docker
sudo pacman -Syu docker-compose  # Install docker-compose

sudo systemctl enable docker     # Start Docker on system startup (optional)
sudo systemctl start docker      # Start Docker now

# Add your user to the `docker` group so you can use Docker without sudo
sudo usermod -a -G docker $(whoami)

Ubuntu

docker.io is available from the Ubuntu repositories (as of Xenial).

# Install Docker
sudo apt install docker.io
sudo apt install docker-compose

# Start it
sudo systemctl start docker

If the docker.io package isn't available for you, see Get Docker CE for Ubuntu for an alternative.

Windows

Install Windows Subsystem for Linux and choose Ubuntu as your guest OS. Jem reports that this article has instructions that worked for him: Setting up Docker for Windows and WSL (nickjanetakis.com).

Previously, we recommended to install Docker as you normally would on Ubuntu (see above) and these instructions... Adrian reports that this method makes docker-compose throw errors on his machine.

Other OS's

For other operating systems, see: https://www.docker.com/community-edition#download

Verifying if it works

If everything works, you should have the following commands available:

$ docker info
Containers: 0
Running: 0
Paused: 0
...
$ docker-compose --version
docker-compose version 1.21.2, build unknown

Starting Docker

If you get an error like the one below, you might need to start the Docker daemon.

$ docker info
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

To start the Docker daemon, it probably needs one of these commands

open /Applications/Docker.app  # macOS
sudo systemctl start docker    # Arch, Ubuntu, CentOS

Enabling on startup

For Arch Linux, Ubuntu and CentOS, this will enable auto-starting of the Docker service:

sudo systemctl enable docker