anchor.diff:  Another example of a production docker-compose configuration is from the [buildkite-agent Golang source code](https://github.com/buildkite/agent):
   
   ```
  -version: '2'
  +version: '2.1'
   services:
  -  app:
  +  agent:
       build: .
  +    working_dir: /go/src/github.com/buildkite/agent
       volumes:
  -      - .:/go/src/github.com/buildkite/agent
  -      - /usr/bin/buildkite-agent:/usr/bin/buildkite-agent
  +      - ./:/go/src/github.com/buildkite/agent:cached
       environment:
  -      - BUILDKITE_AGENT_ACCESS_TOKEN
  +      - BUILDKITE_BUILD_NUMBER
         - BUILDKITE_JOB_ID
  -      - BUILDKITE_BUILD_ID
  -      - BUILDKITE_BUILD_NUMBER
  -      - GITHUB_RELEASE_ACCESS_TOKEN
  -      - DOCKER_HUB_TRIGGER_TOKEN
   ```
   
  -The above example has an additional volume: the `buildkite-agent` binary itself, so the build scripts can use the `buildkite-agent artifact` and `buildkite-agent meta-data` commands. It also passes through environment variables needed for the artifact command, as well as two secret keys set up by an [environment hook](/docs/agent/v2/hooks).
  +The above example has an additional volume: the `buildkite-agent` binary itself, so the build scripts can use the `buildkite-agent artifact` and `buildkite-agent meta-data` commands. It also passes through environment variables needed for the artifact command.
   
   ## Testing the config
   
  
positive.code: 
  ## Configuring the build step
  
  Firstly we need to add the following environment variable to our build, either on an individual build step or as a pipeline-level environment variable:
  
  ```bash
  BUILDKITE_DOCKER_COMPOSE_CONTAINER=app
  ```
  
  This will tell the agent to run each build step like so:
  
  ```bash
  docker-compose -f docker-compose.yml run app <command>
  ```
  
  If you need, you can also specify an alternate Docker Compose config file:
  
  ```
  BUILDKITE_DOCKER_COMPOSE_FILE=docker-compose.buildkite.yml
  ```
  
  ## Adding buildkite-agent to the docker group
  
negative.code: If your team has significant Docker experience you might find it worthwhile invoking your own runner scripts rather than using the simpler built-in Docker support.
  
  To do this see the [agent hooks](/docs/agent/v2/hooks) and [parallelizing builds](parallelizing-builds) documentation.
  
  ## Using Docker without plugins
  
  You can use Docker in your pipelines without using plugins by using environment variables. 
  
  Firstly we need to add the following environment variable to our build, either on an individual build step or as a pipeline-level environment variable:
  
  ```bash
  BUILDKITE_DOCKER_COMPOSE_CONTAINER=app
  ```
  
  This will tell the agent to run each build step like so:
  
  ```bash
  docker-compose -f docker-compose.yml run app <command>
  ```
  
  If you need, you can also specify an alternate Docker Compose config file:
  
  ```
  BUILDKITE_DOCKER_COMPOSE_FILE=docker-compose.buildkite.yml
  ```
  