Why should I use Docker containers with IMAS in a first place
If you find it hard to have your local IMAS installation, it might be you find yourself in one of these situations:
- you have a computing cluster but you don't have root permissions to install new software,
- you need just bare bones IMAS installation, with basic components, but you don't have a computing machine and manpower to install it,
- you don't have to time to perform regular upgrades of your IMAS installation,
- you want to utilise Cloud resources.
Indeed, having a local IMAS installation may be a challenge. However, there is a solution. In case you need your private IMAS release, with slightly limited functionality, a Docker based IMAS release if the way for you to go.
We have successfully used this approach across various projects and were able to deliver solutions from embedding single physical code to complex, micro-services based, server solutions. We were able to provide UDA server and UDA client based on IMAS inside Docker, we have released SimDB installations based on IMAS inside Docker, finally, we provide CI/CD based tests at https://gitlab.eufus.psnc.pl that are based on IMAS inside Docker. And all of that thanks to Docker images with IMAS inside.
You can benefit from this solution, and it is extremely simple. All you have to do is to create your Dockerfile such way it is based on ours
Create your own Docker image based on IMAS
> cat ~/mycontainer/Dockerfile FROM gitlab.eufus.psnc.pl:5050/containerization/imas/imas-installer/al-iwrap:DD-4.0.0_AL-5.4.1_IWRAP-0.10.0-UDA-2.8.1-UDA-PLUGIN-1.5.0 ... ...
That's it. You have a Docker image with IMAS inside. Feel free to add anything you like on top of it.
What options are available to me when it comes to Docker images with IMAS
You have a number of choices when it comes to deciding what you want to use. Everything depends on your particular use case.
# Just base components - foundation for other images base image - gitlab.eufus.psnc.pl:5050/containerization/imas/imas-installer/base # Everything in base + al core components AL core image - gitlab.eufus.psnc.pl:5050/containerization/imas/imas-installer/al-core # Everything in AL core + components required for a specific language developments AL Java image - gitlab.eufus.psnc.pl:5050/containerization/imas/imas-installer/al-java AL Python image - gitlab.eufus.psnc.pl:5050/containerization/imas/imas-installer/al-python AL CPP image - gitlab.eufus.psnc.pl:5050/containerization/imas/imas-installer/al-cpp AL Fortran image - gitlab.eufus.psnc.pl:5050/containerization/imas/imas-installer/al-fortran # Everything in AL core image + all AL interfaces AL image - gitlab.eufus.psnc.pl:5050/containerization/imas/imas-installer/al # Everything in AL image + FC2K application FC2K image - gitlab.eufus.psnc.pl:5050/containerization/imas/imas-installer/al-fc2k # Everything in AL image + iWrap application iWrap image - gitlab.eufus.psnc.pl:5050/containerization/imas/imas-installer/al-iwrap # Everything in AL image + SimDB server SimDB image - gitlab.eufus.psnc.pl:5050/containerization/imas/imas-installer/al-simdb