Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • This document describes how to build a Docker image with IMAS environment
  • The build is divided into several steps, each in a separate executable file with sequential naming convention: 01-base02-ual03-kepler04-fc2k05-gui, 06-intel-mpi-mkl and 07-save
  • Steps 2, 3 and 4 require access to a private SSH key to query git://git.iter.org
  • The result of step 4 is a usable image with IMAS, Kepler and FC2K
  • Step 5 is optional, it adds on top of Step 4 the GUI libraries and configurations to work with the container via VNC (remote desktop)
  • Step 6 is optional, it adds Intel libraries
  • Step 7 exports the result of step 4 and 5 into image archives (these can be transferred and loaded by Docker daemon or uDocker executable)
Warning
titleLimitations
  • The IMAS environment is compiled in the container, so it uses only publicly available resources (+ source codes from git://git.iter.org)
  • This means that ifort, pgf90, nagfor or matlab are unavailable and these settings are used:
    • IMAS_IFORT=no
    • IMAS_G95=no
    • IMAS_NAGFOR=no
    • IMAS_PGI=no
    • IMAS_MATLAB=no
    • IMAS_MEX=no

Buildah

  • The building procedure is based on buildah
  • It is a standard compliant tool which allows building container images

...

# step 2, 3 and 4 will ask for SSH private key
./01-base           # from ubuntu/bionic creates imas/base
./02-ual            # from imas/base creates imas/ual
./03-kepler         # from imas/ual creates imas/kepler
./04-fc2k           # from imas/kepler creates imas/fc2k

./05-gui            # (optional) from imas/fc2k creates imas/gui (adds XFCE via VNC)
./06-intel-mpi-mkl  # (optional) from imas/fc2k creates imas/mpi (adds Intel's MPI and MKL libraries)

./07-save           # stores imas/fc2k and imas/gui as archive files in /tmp/

...

titleLimitations

...