mirror of
https://github.com/thib8956/nginx-proxy
synced 2024-11-22 03:46:29 +00:00
Merge pull request #1 from appropriate/safeguard
Adjust entrypoint to always warn on missing socket
This commit is contained in:
commit
d21c6943a2
@ -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"]
|
||||
|
27
docker-entrypoint.sh
Normal file → Executable file
27
docker-entrypoint.sh
Normal file → Executable file
@ -1,29 +1,22 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
check_unix_socket() {
|
||||
if [[ $DOCKER_HOST == unix://* ]]; then
|
||||
# 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
|
||||
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
|
||||
See the documentation at http://git.io/vZaGJ
|
||||
EOT
|
||||
exit 1
|
||||
socketMissing=1
|
||||
fi
|
||||
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 "$@"
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user