This project has retired. For details please refer to its Attic page.
Apache Aurora

Containers

Docker

Aurora has optional support for launching Docker containers, if correctly configured by an Operator.

Example (available in the Vagrant environment):

$ cat /vagrant/examples/jobs/docker/hello_docker.aurora
hello_world_proc = Process(
  name = 'hello',
  cmdline = """
    while true; do
      echo hello world
      sleep 10
    done
  """)

hello_world_docker = Task(
  name = 'hello docker',
  processes = [hello_world_proc],
  resources = Resources(cpu = 1, ram = 1*MB, disk=8*MB)
)

jobs = [
  Service(
    cluster = 'devcluster',
    environment = 'devel',
    role = 'docker-test',
    name = 'hello_docker',
    task = hello_world_docker,
    container = Container(docker = Docker(image = 'python:2.7'))
  )
]

In order to correctly execute processes inside a job, the docker container must have Python 2.7 installed. Further details of how to use Docker can be found in the Reference Documentation.

Mesos

Note: In order to use filesystem images with Aurora, you must be running at least Mesos 0.28.x

Aurora supports specifying a task filesystem image to use with the Mesos containerizer. This is done by setting the container property of the Job to a Mesos container object that includes the image to use. Both AppC and Docker images are supported.

job = Job(
   ...
   container = Mesos(image=DockerImage(name='my-image', tag='my-tag'))
   ...
)