| This directory contains Dockerfiles to create new Docker images for |
| running Checker Framework tests reproducibly. |
| |
| The rest of this file explains how to build new Docker images: |
| |
| |
| Preliminaries: |
| |
| # Finish docker setup if necessary. |
| sudo usermod -aG docker $(whoami) |
| # Then log out and back in. |
| |
| # Obtain Docker credentials. |
| # (This is only necessary once per machine; credentials are cached.) |
| docker login |
| |
| |
| Create the Docker image: |
| |
| # Alias to create the Docker image, in an empty directory, and upload to Docker Hub. |
| # Takes about 12 minutes for jdk8 or jdk11, about 1 hour for jdk8-plus or jdk11-plus. |
| alias create_upload_docker_image=' \ |
| rm -rf dockerdir && \ |
| mkdir -p dockerdir && \ |
| (cd dockerdir && \ |
| \cp -pf ../Dockerfile-$OS-$JDKVER Dockerfile && \ |
| docker build -t mdernst/$PROJECT-$OS-$JDKVER . && \ |
| docker push mdernst/$PROJECT-$OS-$JDKVER) && \ |
| rm -rf dockerdir' |
| |
| export OS=ubuntu |
| export JDKVER=jdk8 |
| export PROJECT=cf |
| create_upload_docker_image |
| |
| export OS=ubuntu |
| export JDKVER=jdk8-plus |
| export PROJECT=cf |
| create_upload_docker_image |
| |
| export OS=ubuntu |
| export JDKVER=jdk11 |
| export PROJECT=cf |
| create_upload_docker_image |
| |
| export OS=ubuntu |
| export JDKVER=jdk11-plus |
| export PROJECT=cf |
| create_upload_docker_image |
| |
| |
| Cleanup: |
| |
| After creating docker images, consider deleting the docker containers, |
| which can take up a lot of disk space. |
| To stop and remove/delete all docker containers: |
| docker stop $(docker ps -a -q) |
| docker rm $(docker ps -a -q) |
| or you can just remove some of them. |