Merge pull request #1 from appropriate/safeguard
Adjust entrypoint to always warn on missing socket
This commit is contained in:
commit
d21c6943a2
2 changed files with 16 additions and 23 deletions
|
@ -31,4 +31,4 @@ ENV DOCKER_HOST unix:///tmp/docker.sock
|
||||||
VOLUME ["/etc/nginx/certs"]
|
VOLUME ["/etc/nginx/certs"]
|
||||||
|
|
||||||
ENTRYPOINT ["/app/docker-entrypoint.sh"]
|
ENTRYPOINT ["/app/docker-entrypoint.sh"]
|
||||||
CMD ["nginx-proxy"]
|
CMD ["forego", "start", "-r"]
|
||||||
|
|
27
docker-entrypoint.sh
Normal file → Executable file
27
docker-entrypoint.sh
Normal file → Executable file
|
@ -1,29 +1,22 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
check_unix_socket() {
|
# Warn if the DOCKER_HOST socket does not exist
|
||||||
if [[ $DOCKER_HOST == unix://* ]]; then
|
if [[ $DOCKER_HOST == unix://* ]]; then
|
||||||
socket_file=${DOCKER_HOST#unix://}
|
socket_file=${DOCKER_HOST#unix://}
|
||||||
if ! [ -S $socket_file ]; then
|
if ! [ -S $socket_file ]; then
|
||||||
cat >&2 <<-EOT
|
cat >&2 <<-EOT
|
||||||
ERROR: you need to share your docker host socket with a volume at $socket_file
|
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\`
|
Typically you should run your jwilder/nginx-proxy with: \`-v /var/run/docker.sock:$socket_file:ro\`
|
||||||
See documentation at http://git.io/vZaGJ
|
See the documentation at http://git.io/vZaGJ
|
||||||
EOT
|
EOT
|
||||||
exit 1
|
socketMissing=1
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# check for the expected command
|
|
||||||
if [ "$1" = 'nginx-proxy' ]; then
|
|
||||||
check_unix_socket
|
|
||||||
exec forego start -r
|
|
||||||
fi
|
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 "$@"
|
exec "$@"
|
||||||
|
|
||||||
|
|
||||||
|
|
Reference in a new issue