From fc427432ed31029352ccf01491223c803bc22b6f Mon Sep 17 00:00:00 2001 From: Jean-Philippe Roemer Date: Sat, 10 Oct 2015 20:41:16 +0100 Subject: [PATCH] Docker Container Restart Fix - Fix s6 fifodir error on container restart - Add .tags* to .gitignore (Atom auto ctags generation) --- .gitignore | 1 + Dockerfile | 2 +- docker/s6/.s6-svscan/finish | 5 ++++- docker/start.sh | 11 ++++++++--- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 383b32564c..d696aff5f4 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ docker/docker/Dockerfile docker/docker/init_gogs.sh gogs.sublime-project gogs.sublime-workspace +.tags* diff --git a/Dockerfile b/Dockerfile index b98d198afd..500a294f36 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM alpine:3.2 MAINTAINER roemer.jp@gmail.com # Install system utils & Gogs runtime dependencies -ADD https://github.com/tianon/gosu/releases/download/1.5/gosu-amd64 /usr/sbin/gosu +ADD https://github.com/tianon/gosu/releases/download/1.6/gosu-amd64 /usr/sbin/gosu RUN echo "@edge http://dl-4.alpinelinux.org/alpine/edge/main" | tee -a /etc/apk/repositories \ && echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" | tee -a /etc/apk/repositories \ && apk -U --no-progress upgrade \ diff --git a/docker/s6/.s6-svscan/finish b/docker/s6/.s6-svscan/finish index 22665fa9bb..3fab7f42e5 100755 --- a/docker/s6/.s6-svscan/finish +++ b/docker/s6/.s6-svscan/finish @@ -1,2 +1,5 @@ #!/bin/sh -exec /bin/true + +# Cleanup SOCAT services and s6 event folder +rm -rf $(find /app/gogs/docker/s6/ -name 'event') +rm -rf /app/gogs/docker/s6/SOCAT_* diff --git a/docker/start.sh b/docker/start.sh index c824fe911c..9f1f41a9a4 100755 --- a/docker/start.sh +++ b/docker/start.sh @@ -1,11 +1,16 @@ #!/bin/sh +# Cleanup SOCAT services and s6 event folder +# On start and on shutdown in case container has been killed +rm -rf $(find /app/gogs/docker/s6/ -name 'event') +rm -rf /app/gogs/docker/s6/SOCAT_* + # 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 + mkdir -p /app/gogs/docker/s6/SOCAT_$NAME + echo -e "#!/bin/sh\nexec $CMD" > /app/gogs/docker/s6/SOCAT_$NAME/run + chmod +x /app/gogs/docker/s6/SOCAT_$NAME/run done # Exec CMD or S6 by default if nothing present