Logo Containers

Containers allows to encapsulate code with their execution environment in a light and easy-to-use way. The envisaged scenario for LISA DDPC pipelines is to use containers to run code on arbitrary Data Computing Centers (DCC).

Some preliminary reference container images have been made available to the consortium, to allow developers to use a common environment, with fixed version of standard library like FFTW, LAL, GSL, etc.

Docker

Docker is one of the most popular containers solution.

Using DDPC docker images

DDPC docker files can be found in the LISA docker GitLab project: https://gitlab.in2p3.fr/elisadpc/docker/tree/master

Building your own docker image with GitLab

One can use the GitLab CI engine to automatically produce and update the docker image associated to a software project after each new commit.

To do so, one will have to add the Dockerfile to the repository, then tuned the .gitlab-ci.yml configuration file, with the following commands:

image: centos:latest
image: gitlab-registry.in2p3.fr/my-git-project-url/my-project-name:latest

variables:
   DOCKER_DRIVER: overlay2
   CONTAINER_RELEASE_IMAGE: gitlab-registry.in2p3.fr/my-git-project-url/my-project-name:latest

stages:
  - build

build:
  image: docker:17.07
  tags:
    - dind
  stage: build
  script:
     - export DOCKER_API_VERSION=1.23
     - export IMAGE_TAG=$(echo -en $CI_BUILD_REF_NAME | tr -c '[:alnum:]_.-' '-')
     - docker login -u "gitlab-ci-token" -p "$CI_BUILD_TOKEN" $CI_REGISTRY
     - docker build --pull -t "$CI_REGISTRY_IMAGE:$IMAGE_TAG" .
     - docker push "$CI_REGISTRY_IMAGE:$IMAGE_TAG"

Singularity

Singularity is a container solution for computing applications.

DDPC singularity files can be found in the LISA GitLab project: https://gitlab.in2p3.fr/elisadpc/singularity

Using DDPC Singularity images

A Singularity Hub is hosting a LISA collection of Singularity images