--- /dev/null
+
+# the base of where these containers will appear
+REGISTRY := registry.gitlab.com/xen-project/xen
+
+help:
+ @echo "Builds containers for building Xen based on different distros"
+ @echo "To build one run 'make DISTRO/VERSION'. Available containers:"
+ @$(foreach file,$(sort $(subst .dockerfile,,$(wildcard */*.dockerfile))), \
+ echo ${file} ; \
+ )
+ @echo "To push container builds, set the env var PUSH"
+
+%: %.dockerfile ## Builds containers
+ docker build -t $(REGISTRY)/$(@D):$(@F) -f $< $(<D)
+ @if [ ! -z $${PUSH+x} ]; then \
+ docker push $(REGISTRY)/$(@D):$(@F); \
+ fi
--- /dev/null
+Docker Containers
+=================
+
+These Docker containers should make it possible to build Xen in
+any of the available environments on any system that supports
+running Docker. They are organized by distro and tagged with
+the version of that distro. They are available from the GitLab
+Container Registry under the Xen project at:
+
+registry.gitlab.com/xen-project/xen/DISTRO:VERSION
+
+To see the list of available containers run `make` in this
+directory. You will have to replace the `/` with a `:` to use
+them.
+
+Building Xen
+------------
+
+From the top level of the source tree it should be possible to
+run the following:
+
+docker run --rm -it -v $(PWD):/build -u $(id -u) -e CC=gcc $(CONTAINER) make
+
+There are other modifications that can be made but this will run
+the `make` command inside the specified container. It will use your
+currently checked out source tree to build with, ensure that file
+permissions remain consistent and clean up after itself.
+
+Building a container
+--------------------
+
+There is a makefile to make this process easier. You should be
+able to run `make DISTRO/VERSION` to have Docker build the container
+for you.