diff --git a/.gitignore b/.gitignore
index 5563b5e..08a5c61 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,5 @@ image-builder/config/*.iso
 image-builder/config/*.qcow2
 image-builder/config/*.md5sum
 image-builder/assets/playbooks/roles/multistrap/vars/main.yaml
+image-builder/assets/playbooks/roles/livecdcontent/vars/main.yaml
+image-builder/assets/playbooks/roles/osconfig/vars/main.yaml
diff --git a/image-builder/Makefile b/image-builder/Makefile
index 71f329e..333de3b 100644
--- a/image-builder/Makefile
+++ b/image-builder/Makefile
@@ -52,15 +52,9 @@ images: build generate_iso package_qcow
 build:
 	set -ex
 	# Apply any user-defined rootfs overrides to playbooks
-	if [ -f $(WORKDIR)/rootfs/multistrap-vars.yaml ]; then
-	  cp $(WORKDIR)/rootfs/multistrap-vars.yaml assets/playbooks/roles/multistrap/vars/main.yaml
-	fi
-	if [ -f $(WORKDIR)/rootfs/osconfig-vars.yaml ]; then
-	  cp $(WORKDIR)/rootfs/osconfig-vars.yaml assets/playbooks/roles/osconfig/vars/main.yaml
-	fi
-	if [ -f $(WORKDIR)/rootfs/livecdcontent-vars.yaml ]; then
-	  cp $(WORKDIR)/rootfs/livecdcontent-vars.yaml assets/playbooks/roles/livecdcontent/vars/main.yaml
-	fi
+	cp $(WORKDIR)/rootfs/multistrap-vars.yaml assets/playbooks/roles/multistrap/vars/main.yaml
+	cp $(WORKDIR)/rootfs/osconfig-vars.yaml assets/playbooks/roles/osconfig/vars/main.yaml
+	cp $(WORKDIR)/rootfs/livecdcontent-vars.yaml assets/playbooks/roles/livecdcontent/vars/main.yaml
 ifneq ($(PROXY), )
 	sudo -E ./tools/docker_proxy.sh $(PROXY) $(NO_PROXY)
 	export http_proxy=$(PROXY)
@@ -72,7 +66,7 @@ ifneq ($(PROXY), )
 ifneq ($(SKIP_MULTISTRAP), true)
 	sudo -E ./tools/multistrap.sh $(WORKDIR)
 endif
-	sudo -E docker -D -l debug build --tag $(IMAGE) -f Dockerfile.$(DISTRO) . \
+	sudo -E DOCKER_BUILDKIT=1 docker -D -l debug build --tag $(IMAGE) -f Dockerfile.$(DISTRO) . \
 	--label $(LABEL) \
 	--label "org.opencontainers.image.revision=$(COMMIT)" \
 	--label "org.opencontainers.image.created=\
@@ -88,15 +82,20 @@ else
 ifneq ($(SKIP_MULTISTRAP), true)
 	sudo -E ./tools/multistrap.sh $(WORKDIR)
 endif
-	sudo -E docker -D -l debug build --tag $(IMAGE) -f Dockerfile.$(DISTRO) . \
+	sudo -E DOCKER_BUILDKIT=1 docker -D -l debug build --tag $(IMAGE) -f Dockerfile.$(DISTRO) . \
 	--label $(LABEL) \
 	--label "org.opencontainers.image.revision=$(COMMIT)" \
 	--label "org.opencontainers.image.created=\
 	$(shell date --rfc-3339=seconds --utc)" \
 	--label "org.opencontainers.image.title=$(IMAGE_NAME)"
 endif
+	imgId=`sudo docker images | grep 'image-builder ' | awk '{print $$3}'`
+	sudo -E DOCKER_BUILDKIT=1 docker run $$imgId ls -ltra /build/usr/bin/sudo > /tmp/sticky_result
+	sudo grep '^-rws' /tmp/sticky_result >& /dev/null || \
+		(echo Could not find sticky bit set on target image sudo binary. Are you using buildkit? && \
+		sudo cat /tmp/sticky_result && exit 1)
 ifeq ($(PUSH_IMAGE), true)
-	sudo -E docker push $(IMAGE)
+	sudo -E DOCKER_BUILDKIT=1 docker push $(IMAGE)
 endif
 
 cut_image:
@@ -138,14 +137,14 @@ package_qcow:
 	export IMAGE_TYPE=qcow
 	export EXPLICIT_DIRS=$(QCOW_CONF_DIRS)
 	sudo -E make cut_image
-	sudo -E docker -D -l debug build --tag $(QCOW_IMAGE) -f Dockerfile-qcow.$(DISTRO) $(WORKDIR) \
+	sudo -E DOCKER_BUILDKIT=1 docker -D -l debug build --tag $(QCOW_IMAGE) -f Dockerfile-qcow.$(DISTRO) $(WORKDIR) \
 	--label $(LABEL) \
 	--label "org.opencontainers.image.revision=$(COMMIT)" \
 	--label "org.opencontainers.image.created=\
 	$(shell date --rfc-3339=seconds --utc)" \
 	--label "org.opencontainers.image.title=$(QCOW_IMAGE_NAME)"
 ifeq ($(PUSH_IMAGE), true)
-	sudo -E docker push $(QCOW_IMAGE)
+	sudo -E DOCKER_BUILDKIT=1 docker push $(QCOW_IMAGE)
 endif
 
 tests:
diff --git a/image-builder/assets/playbooks/roles/livecdcontent/vars/README.md b/image-builder/assets/playbooks/roles/livecdcontent/vars/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/image-builder/assets/playbooks/roles/livecdcontent/vars/main.yaml b/image-builder/assets/playbooks/roles/livecdcontent/vars/main.yaml
deleted file mode 100644
index 038752d..0000000
--- a/image-builder/assets/playbooks/roles/livecdcontent/vars/main.yaml
+++ /dev/null
@@ -1 +0,0 @@
-# This file will be overwritten by the container entrypoint with user-provided vars, if any are defined.
diff --git a/image-builder/assets/playbooks/roles/osconfig/vars/README.md b/image-builder/assets/playbooks/roles/osconfig/vars/README.md
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/image-builder/assets/playbooks/roles/osconfig/vars/README.md
@@ -0,0 +1 @@
+
diff --git a/image-builder/assets/playbooks/roles/osconfig/vars/main.yaml b/image-builder/assets/playbooks/roles/osconfig/vars/main.yaml
deleted file mode 100644
index 077d22b..0000000
--- a/image-builder/assets/playbooks/roles/osconfig/vars/main.yaml
+++ /dev/null
@@ -1 +0,0 @@
-# NOTE: This file will be *overwritten* by the container entrypoint with user-provided vars, if any are defined.
diff --git a/image-builder/tools/cut_image.sh b/image-builder/tools/cut_image.sh
index 705a360..0b5ba48 100755
--- a/image-builder/tools/cut_image.sh
+++ b/image-builder/tools/cut_image.sh
@@ -56,7 +56,10 @@ install_pkg libvirt-daemon-system
 install_pkg libvirt-clients
 install_pkg cloud-image-utils
 install_pkg ovmf
-type docker >& /dev/null || install_pkg docker.io
+type docker >& /dev/null || (echo "Error: You do not have docker installed in your environment." && exit 1)
+sudo docker version | grep Community >& /dev/null || (echo "Error: Could not find Community version of docker" && \
+	echo "You must uninstall docker.io and install docker-ce. For instructions, see https://docs.docker.com/engine/install/ubuntu/" && \
+	exit 1)
 
 if [ -d /sys/firmware/efi ]; then
   uefi_mount='--volume /sys/firmware/efi:/sys/firmware/efi:rw'
diff --git a/image-builder/tools/multistrap.sh b/image-builder/tools/multistrap.sh
index 3bff65e..30dc836 100755
--- a/image-builder/tools/multistrap.sh
+++ b/image-builder/tools/multistrap.sh
@@ -63,7 +63,10 @@ fi
 install_pkg efivar
 # required for building UEFI image
 sudo -E modprobe efivars
-type docker >& /dev/null || install_pkg docker.io
+type docker >& /dev/null || (echo "Error: You do not have docker installed in your environment." && exit 1)
+sudo docker version | grep Community >& /dev/null || (echo "Error: Could not find Community version of docker" && \
+	echo "You must uninstall docker.io and install docker-ce. For instructions, see https://docs.docker.com/engine/install/ubuntu/" && \
+	exit 1)
 install_pkg equivs
 install_pkg ca-certificates
 install_pkg build-essential