Containers

You can use Docker containers obtained from Docker Hub by specifying them in your wercker.yml file.

Boxes and Services

The box section in your wercker.yml defines the base Docker image to build your Pipeline from. These could contain language interpreters and tooling required for your pipelines.

Service containers are spun up separately from your Pipeline runs and can be use for things such as running a testing database or message queue.

Specifying versions

Docker repositories can hold various versions of an image. Tags can be leveraged to specify a specific version of a container.

You can specify a version tag for boxes in your wercker.yml as follows.

# using python version 2.7
box: python:2.7

Without specifying a tag you will get the latest tag of the container.

# using python version 3
box: python

This same method applies for service containers.

# using a specific tag for a redis service
services:
    - redis:2.8

You can also pull in private containersbuild from Docker images hosted on any public or private Docker Registry, such as Docker Hub or quay.io.

It is also possible to specify boxes on a per-pipeline basis.