anchor.diff:  
   For Docker-based builds we recommend using [Docker Compose](https://docs.docker.com/compose/) as it allows each pipeline to define its own `docker-compose.yml` with dependent containers and environment variables to be passed through.
   
  -Here's a example of a docker-compose.yml file for Ruby on Rails application that depends on Postgres, Redis and Memcache:
  +Here's a example of a docker-compose.yml file for a Ruby on Rails application that depends on Postgres, Redis and Memcache:
   
   ```yml
   version: '2'
  
positive.code: 
  Even though the buildkite agent cleans up the images after each run, inevitably over time your Docker host can fill up with a lot of unused images.
  
  We recommend running [docker-gc](https://github.com/spotify/docker-gc) or similar tool on a daily basis.
  
  ## Docker without Docker Compose
  
  
negative.code: # Containerized Builds with Docker
  
  The Buildkite Agent ships with built-in support for running your builds in Docker containers. Running your builds with Docker allows each pipeline to define and document its testing environment, greatly simplifying your build servers, and provides build isolation when [parallelizing your build](parallelizing-builds).
  
  <%= toc %>
  
  