From d83ba3da1ede656c07b79d85731d81dffcf5f0f2 Mon Sep 17 00:00:00 2001 From: Thomas LEVEIL Date: Fri, 11 Sep 2015 22:05:54 +0000 Subject: [PATCH] refuse to start if the docker sock isn't available --- Dockerfile | 2 +- docker-entrypoint.sh | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 docker-entrypoint.sh diff --git a/Dockerfile b/Dockerfile index abfae74..d4b3e0b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,4 +30,4 @@ ENV DOCKER_HOST unix:///tmp/docker.sock VOLUME ["/etc/nginx/certs"] -CMD ["forego", "start", "-r"] +ENTRYPOINT ["/app/docker-entrypoint.sh"] diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..2ce3833 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -e + +if [[ $DOCKER_HOST == unix://* ]]; then + socket_file=${DOCKER_HOST#unix://} + if ! [ -S $socket_file ]; then + cat >&2 <<-EOT + ERROR: you need to share your docker host socket with a volume at $socket_file + Typically you should run your jwilder/nginx-proxy with: \`-v /var/run/docker.sock:$socket_file:ro\` + See documentation at http://git.io/vZaGJ + EOT + exit 1 + fi +fi + +exec forego start -r \ No newline at end of file