Docker in Docker Ubuntu container for Concourse CI. Optimized for use with Concourse CI.
Ubuntu image published at fhivemind/concourse-dind, which includes Docker, Docker Compose, and Docker Squash.
Based on karlkfi/concourse-dcind.
- Automatically starts docker.
- Uses errexit, pipefail, and nounset.
- Configures timeout (
DOCKERD_TIMEOUT
) on dockerd start to account for misconfiguration (docker log will be output). - Accepts arbitrary dockerd arguments via optional
DOCKER_OPTS
environment variable. - Passes through
--garden-mtu
from the parent Gardian container if--mtu
is not specified inDOCKER_OPTS
. - Sets
--data-root /scratch/docker
to bypass the graph filesystem if--data-root
is not specified inDOCKER_OPTS
.
$> docker build -t fhivemind/concourse-dcind .
Here is an example of a Concourse job that uses fhivemind/concourse-dind
image to run a several containers in a task, and then runs the integration test suite.
jobs:
- name: integration
plan:
- get: code
params:
depth: 1
passed:
- unit-tests
trigger: true
- task: integration-tests
privileged: true
config:
platform: linux
image_resource:
type: docker-image
source:
repository: fhivemind/concourse-dind
inputs:
- name: code
run:
path: entrypoint.sh
args:
- bash
- -ceux
- |
docker-compose -f code/example/integration.yml run tests
docker-compose -f code/example/integration.yml down
docker volume rm $(docker volume ls -q)