HPC High Performance Computing: 9. Docker

Computational containers

Introduction

This section shows how to use a container technology in the Computational Cluster HPC of Poblenou.

Docker provides container software that is ideal for developers and teams looking to get started and experimenting with container-based applications.

Technical Information

Docker engine

  • Version: 18.06.0-ce

  • Architecture: Standalone engine (not in a swarm).

Plugins

  • Nvidia-Docker

Registry Server

  • Docker Registry Frontend v2
  • Docker Registry Server 2.6.2

Modules

  • Easybuild module based on docker wrapper.

Information

Some tips that you may know before start working

Images

  • Docker Store (DockerHub), Registry Server and other public repositories are supported to deploy containers.
  • Every image you need must be allowed in the system by IT support, you should open a ticket to deploy an image into the cluster.

Containers

  • Must use 'Socker' module to interact with the docker system (docker console is only available for administrators).
  • home and datasets directories are automatically mapped inside the container.
  • Users aren't allowed to open a root session inside the container, your UID and GID are directly mapped.
  • Containers will be destroyed after the execution process.
  • Containers cannot communicate each other. Only one job is created per container.
  • CPU, RAM, GPU resources are managed by queue engine, needs must be declared in the Slurm Job settings.
  • Batch and Interactive sessions are available; cannot export X sessions, X-Server isn't supported.