If you must turn off the control for use unsupported storage than checking of the latest launcher creates infinite loop.
So you’re saying that if you shoot yourself in the foot you can’t walk properly anymore?
Why are you using an unsupported storage?
Have you considered… using a supported Docker storage method?
Our white list looks good to me, maybe even a bit too wide.
I am not sure if we should keep carrying overlay1 as a supported driver. Also btrfs can be somewhat dodgy.
@saj do you think we should drop overlay
from our supported list? (keeping overlay2
)
Yes, I think it would be reasonable to drop the overlay
storage driver from the whitelist.
Foremost in my mind was not unduly inconveniencing users on enterprise distros. Docker Inc. appear to have dropped their support for all platforms but the following:
- Debian 9 (and later)
- EL7
- Ubuntu 16.04 (and later)
The kernels in these distributions should support overlay2
. I can’t think of a reason why someone would choose to use the older overlay
driver when their system meets overlay2
requirements.
I guess we could add an ALLOW_ME_TO_USE_AN_UNSUPPORTED_STORAGE_DRIVER
environment variable override?
Ayup. I searched the launcher
script for prior art -
ag -o '[A-Z]{4,}' launcher | sort | uniq
There’s no existing pattern for this manner of knob. I propose the DANGER_
prefix. I think it communicates the need for the user to take on additional responsibility.
diff --git a/launcher b/launcher
index b629bfc..3aed081 100755
--- a/launcher
+++ b/launcher
@@ -154,14 +154,19 @@ check_prereqs() {
# 2. running an approved storage driver?
if ! $docker_path info 2> /dev/null | egrep -q '^Storage Driver: (aufs|btrfs|zfs|overlay|overlay2)$'; then
- echo "Your Docker installation is not using a supported storage driver. If we were to proceed you may have a broken install."
+ echo "Your Docker installation is not using a supported storage driver."
echo "aufs is the recommended storage driver, although zfs/btrfs/overlay and overlay2 may work as well."
echo "Other storage drivers are known to be problematic."
echo "You can tell what filesystem you are using by running \"docker info\" and looking at the 'Storage Driver' line."
echo
- echo "If you wish to continue anyway using your existing unsupported storage driver,"
- echo "read the source code of launcher and figure out how to bypass this check."
- exit 1
+
+ if [[ -z "${DANGER_UNSUPPORTED_DOCKER_STORAGE_DRIVER:-}" ]]; then
+ echo "Aborting."
+ echo
+ echo "If you wish to continue anyway using your existing unsupported storage driver,"
+ echo "read the source code of launcher and figure out how to bypass this check."
+ exit 1
+ fi
fi
# 3. running recommended docker version
OK so let’s remove btrfs and overlay from the whitelist?
edit: that’s done now