ad5e0b833c
- Now using a setup script before starting the app. The separation of the run script and the setup script will make service initialisation a little bit clearer - Now calling start.sh script as ENTRYPOINT and S6 as CMD. This way when running the container with just a shell script, the start.sh script will be launched before, making debugging easier - Added note about `.dockerignore` ignored during Docker Hub Automated Build
17 lines
512 B
Bash
Executable File
17 lines
512 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# Bind linked docker container to localhost socket using socat
|
|
env | sed -En 's|(.*)_PORT_([0-9]*)_TCP=tcp://(.*):(.*)|\1_\2 socat -ls TCP4-LISTEN:\2,fork,reuseaddr TCP4:\3:\4|p' | \
|
|
while read NAME CMD; do
|
|
mkdir -p /app/gogs/docker/s6/$NAME
|
|
echo -e "#!/bin/sh\nexec $CMD" > /app/gogs/docker/s6/$NAME/run
|
|
chmod +x /app/gogs/docker/s6/$NAME/run
|
|
done
|
|
|
|
# Exec CMD or S6 by default if nothing present
|
|
if [ $# -gt 0 ];then
|
|
exec "$@"
|
|
else
|
|
exec /usr/bin/s6-svscan /app/gogs/docker/s6/
|
|
fi
|