From 1aac9960197f56d502a6147337337fd3b1bfa365 Mon Sep 17 00:00:00 2001 From: Thomas LEVEIL Date: Sat, 12 Sep 2015 10:37:21 +0000 Subject: [PATCH] conform to Docker official images best practices https://github.com/docker-library/official-images/blob/master/README.md#consistency --- Dockerfile | 1 + docker-entrypoint.sh | 33 +++++++++++++++++++++++---------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index d4b3e0b..4b30a67 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,3 +31,4 @@ ENV DOCKER_HOST unix:///tmp/docker.sock VOLUME ["/etc/nginx/certs"] ENTRYPOINT ["/app/docker-entrypoint.sh"] +CMD ["nginx-proxy"] diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 2ce3833..2d19d89 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,16 +1,29 @@ #!/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 +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 fi +} + +################################################################################ + +# check for the expected command +if [ "$1" = 'nginx-proxy' ]; then + check_unix_socket + exec forego start -r fi -exec forego start -r \ No newline at end of file +# else default to run whatever the user wanted like "bash" +exec "$@" + +