From 16d65d3665501e5c42aa13c19d78668c2c043516 Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Mon, 30 Jan 2017 13:04:11 -0800 Subject: [PATCH] Use overlay2 for scaleway https://github.com/scaleway/image-ubuntu/issues/68 --- baseimage/initializeBaseUbuntuImage.sh | 8 ++------ setup/start.sh | 3 ++- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/baseimage/initializeBaseUbuntuImage.sh b/baseimage/initializeBaseUbuntuImage.sh index 3d1cbf811..6431d10d6 100644 --- a/baseimage/initializeBaseUbuntuImage.sh +++ b/baseimage/initializeBaseUbuntuImage.sh @@ -56,16 +56,12 @@ echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" > /etc/apt/sour apt-get -y update # create systemd drop-in file +storage_driver=$([[ "${arg_provider}" == "scaleway" ]] && echo "overlay2" || echo "devicemapper") mkdir -p /etc/systemd/system/docker.service.d -echo -e "[Service]\nExecStart=\nExecStart=/usr/bin/docker daemon -H fd:// --log-driver=journald --exec-opt native.cgroupdriver=cgroupfs --storage-driver=devicemapper" > /etc/systemd/system/docker.service.d/cloudron.conf +echo -e "[Service]\nExecStart=\nExecStart=/usr/bin/docker daemon -H fd:// --log-driver=journald --exec-opt native.cgroupdriver=cgroupfs --storage-driver=${storage_driver}" > /etc/systemd/system/docker.service.d/cloudron.conf apt-get -y install docker-engine=1.12.5-0~ubuntu-xenial # apt-cache madison docker-engine apt-mark hold docker-engine # do not update docker -storage_driver=$(docker info | grep "Storage Driver" | sed 's/.*: //') -if [[ "${storage_driver}" != "devicemapper" ]]; then - echo "Docker is using "${storage_driver}" instead of devicemapper" - exit 1 -fi echo "==> Enable memory accounting" sed -e 's/^GRUB_CMDLINE_LINUX="\(.*\)"$/GRUB_CMDLINE_LINUX="\1 cgroup_enable=memory swapaccount=1 panic_on_oops=1 panic=5"/' -i /etc/default/grub diff --git a/setup/start.sh b/setup/start.sh index 6d01f6583..7e77d507a 100755 --- a/setup/start.sh +++ b/setup/start.sh @@ -67,11 +67,12 @@ echo "==> Configuring docker" cp "${script_dir}/start/docker-cloudron-app.apparmor" /etc/apparmor.d/docker-cloudron-app systemctl enable apparmor systemctl restart apparmor +storage_driver=$([[ "${arg_provider}" == "scaleway" ]] && echo "overlay2" || echo "devicemapper") usermod ${USER} -a -G docker temp_file=$(mktemp) # create systemd drop-in. some apps do not work with aufs -echo -e "[Service]\nExecStart=\nExecStart=/usr/bin/docker daemon -H fd:// --log-driver=journald --exec-opt native.cgroupdriver=cgroupfs --storage-driver=devicemapper --dns=172.18.0.1 --dns-search=." > "${temp_file}" +echo -e "[Service]\nExecStart=\nExecStart=/usr/bin/docker daemon -H fd:// --log-driver=journald --exec-opt native.cgroupdriver=cgroupfs --storage-driver=${storage_driver} --dns=172.18.0.1 --dns-search=." > "${temp_file}" systemctl enable docker # restart docker if options changed