From f95ff82ad09efb9f615cb81736fa78445594831c Mon Sep 17 00:00:00 2001 From: Mike Dillon Date: Sat, 12 Sep 2015 07:18:12 -0700 Subject: [PATCH] Adjust entrypoint to always warn on missing socket Also chmod the entrypoint --- Dockerfile | 2 +- docker-entrypoint.sh | 37 +++++++++++++++---------------------- 2 files changed, 16 insertions(+), 23 deletions(-) mode change 100644 => 100755 docker-entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 4b30a67..4035f59 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,4 +31,4 @@ ENV DOCKER_HOST unix:///tmp/docker.sock VOLUME ["/etc/nginx/certs"] ENTRYPOINT ["/app/docker-entrypoint.sh"] -CMD ["nginx-proxy"] +CMD ["forego", "start", "-r"] diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh old mode 100644 new mode 100755 index 2d19d89..6353314 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,29 +1,22 @@ #!/bin/bash set -e -check_unix_socket() { - 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 +# Warn if the DOCKER_HOST socket does not exist +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 the documentation at http://git.io/vZaGJ + EOT + socketMissing=1 fi -} - -################################################################################ - -# check for the expected command -if [ "$1" = 'nginx-proxy' ]; then - check_unix_socket - exec forego start -r fi -# else default to run whatever the user wanted like "bash" +# If the user has run the default command and the socket doesn't exist, fail +if [ "$socketMissing" = 1 -a "$1" = forego -a "$2" = start -a "$3" = '-r' ]; then + exit 1 +fi + exec "$@" - -