From 30492ed2f2966a913f59fd67837907c0fa2b5b8d Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Mon, 15 Jul 2024 17:40:10 +0200 Subject: [PATCH] Initial Docker overlay2 support - override filesystem type to overlay2 if `DOCKER_BACKINGFS` in docker.cfg is set to `overlay2` --- etc/rc.d/rc.docker | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/etc/rc.d/rc.docker b/etc/rc.d/rc.docker index 217b4c462..e091e00bb 100755 --- a/etc/rc.d/rc.docker +++ b/etc/rc.d/rc.docker @@ -58,14 +58,18 @@ if [[ -f $DOCKER_CFG ]]; then . $DOCKER_CFG fi -# Set storage driver appropriate for backing filesystem, override user setting -BACKINGFS=$(findmnt --output FSTYPE --noheadings $DOCKER_ROOT) -if [[ $BACKINGFS == btrfs ]]; then - DOCKER_OPTS="$DOCKER_OPTS --storage-driver=btrfs" -elif [[ $BACKINGFS == xfs ]]; then +# set storage driver to overlay2 if config value is found, otherwise fall back to native FS driver +if [[ $(awk -F'"' '/^DOCKER_BACKINGFS=/{print $2}' $DOCKER_CFG 2>/dev/null) == overlay2 ]]; then DOCKER_OPTS="$DOCKER_OPTS --storage-driver=overlay2" -elif [[ $BACKINGFS == zfs ]]; then - DOCKER_OPTS="$DOCKER_OPTS --storage-driver=zfs" +else + BACKINGFS=$(findmnt --output FSTYPE --noheadings $DOCKER_ROOT) + if [[ $BACKINGFS == btrfs ]]; then + DOCKER_OPTS="$DOCKER_OPTS --storage-driver=btrfs" + elif [[ $BACKINGFS == xfs ]]; then + DOCKER_OPTS="$DOCKER_OPTS --storage-driver=overlay2" + elif [[ $BACKINGFS == zfs ]]; then + DOCKER_OPTS="$DOCKER_OPTS --storage-driver=zfs" + fi fi # Less verbose logging by default