If you are going to run everything in containers, you're going to need to change the installation and deployment quite a bit - but it's not very difficult. For CREAM, e.g. it's a mysql db and a tomcat- so you have to have two separate containers. Clearly not impossible, but could be done in a few days. The main issue is then configuration - the "old" way of doing this was writing the single YAIM file and then having yaim execute the string of scripts to create the config files. This is quite similar to how Ansible does it (tasks, templates, variables, etc), but still some work would be involved.
If you treat your CE as VM's instead of containers, you could first provision the containers, and then configure them. IE first do a
docker run and then
yaim -c inside the CE. You have options...
The point is that you don't have to decide on the base operating system of the platform, you can run the services inside containers on a different OS. E.g. base OS on the cluster is CEntOS7, but your CE is two containers that are
FROM mysql/mysql for the db and
FROM tomcat/tomcat for the CREAM service.
As for the others, a similar discussion holds. The main thing is to model the services in terms of their components and then provision them apporpriately...