From 80cd06b8101d50c65fbe92fcb93f123161c2e515 Mon Sep 17 00:00:00 2001 From: Kyle Huntsman Date: Mon, 4 Apr 2016 12:18:53 -0700 Subject: [PATCH] Docker version will now update to match the host version of docker --- Dockerfile | 1 + bin/supervisord-wrapper.sh | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0c5ab9e..f3b89db 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,6 +15,7 @@ RUN apt-get update --fix-missing && \ RUN mkdir -p /root/.ssh && chmod 500 /root/.ssh && chown -R root:root /root/.ssh # Install Docker +# Docker version might be overridden in supervisord-wrapper if host and client version are different RUN curl -L -o /usr/local/bin/docker https://get.docker.io/builds/Linux/x86_64/docker-1.8.3 ADD .docker/wrapdocker /usr/local/bin/wrapdocker RUN chmod +x /usr/local/bin/docker /usr/local/bin/wrapdocker diff --git a/bin/supervisord-wrapper.sh b/bin/supervisord-wrapper.sh index b8f0924..e9f6654 100644 --- a/bin/supervisord-wrapper.sh +++ b/bin/supervisord-wrapper.sh @@ -24,9 +24,19 @@ END if [ -e /var/run/docker.sock ]; then # Disable DIND as docker socket is available - echo "DIND Support diabled as docker.sock already present" + echo "DIND Support disabled as docker.sock already present" mv /etc/supervisor/conf.d/docker.conf /etc/supervisor/conf.d/docker.conf.disabled fi -/bin/bash -le -c "/usr/local/bin/supervisord -c /etc/supervisor/supervisord.conf" +HOST_DOCKER_VERSION=$(docker version --format {{.Server.Version}}) +LOCAL_DOCKER_VERSION=$(docker version --format {{.Client.Version}}) + +if [ $LOCAL_DOCKER_VERSION != $HOST_DOCKER_VERSION ]; then + echo "Docker version mismatch, installing docker $DOCKER_HOST_VERSION on client" + # Install Docker + curl -L -o /usr/local/bin/docker https://get.docker.io/builds/Linux/x86_64/docker-$HOST_DOCKER_VERSION + chmod +x /usr/local/bin/docker /usr/local/bin/wrapdocker +fi + +/bin/bash -le -c "/usr/local/bin/supervisord -c /etc/supervisor/supervisord.conf"