Merge pull request #235 from thomasleveil/safeguard
refuse to start if the docker sock isn't available
This commit is contained in:
commit
9440ebed09
2 changed files with 23 additions and 0 deletions
|
@ -30,4 +30,5 @@ ENV DOCKER_HOST unix:///tmp/docker.sock
|
||||||
|
|
||||||
VOLUME ["/etc/nginx/certs"]
|
VOLUME ["/etc/nginx/certs"]
|
||||||
|
|
||||||
|
ENTRYPOINT ["/app/docker-entrypoint.sh"]
|
||||||
CMD ["forego", "start", "-r"]
|
CMD ["forego", "start", "-r"]
|
||||||
|
|
22
docker-entrypoint.sh
Executable file
22
docker-entrypoint.sh
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# 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
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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 "$@"
|
Reference in a new issue