step 1:
Install "docker" via yum, apt-get, whatever your OS uses.
step 2:
Make sure you're in the docker group (i.e. run "usermod -aG docker
<user>" as root).
Once this is done, open a new shell.
step 3:
Start the docker server. On Fedora, issue "service start docker" as
root. On SUSE, it's "systemctl docker start".
step 4:
As yourself, run "docker pull stevenrbrandt/et"
This will consume about 4GB of disk.
step 5:
As yourself, run "docker run -i -t stevenrbrandt/et"
At this point you will find yourself logged in to the docker vm and
inside the Cactus directory with a successfully compiled ET. You can run
the testsuite, or whatever else you want to do. When you log out, by
default changes to the VM are discarded.
Hi Steve,
Nice! I have something similar. I split it into a 'base' image with just the required packages, then a 'src' image which has the ET checked out, then an 'app' image which had it compiled. It became quite unwieldy though, because every time you want to make a change, the whole app image needs to be rebuilt, which means recompiling from scratch.
One convenient thing that docker makes possible is to mount your own source tree into the container, so you can develop on your laptop or workstation as normal, but compile and run within the container. This has some glitches, though; on Mac OS it is very slow, and in any case, you need to have the same UIDs outside and inside the container, which is not usually the case.
These don't have the ET checked out or built; they just have the required software environment for doing so.