Skip to content

Commit

Permalink
Docker Container Restart Fix
Browse files Browse the repository at this point in the history
- Fix s6 fifodir error on container restart
- Add .tags* to .gitignore (Atom auto ctags generation)
  • Loading branch information
0rax committed Oct 10, 2015
1 parent 2020baf commit fc42743
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 5 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,4 @@ docker/docker/Dockerfile
docker/docker/init_gogs.sh
gogs.sublime-project
gogs.sublime-workspace
.tags*
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FROM alpine:3.2
MAINTAINER [email protected]

# 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 \
Expand Down
5 changes: 4 additions & 1 deletion docker/s6/.s6-svscan/finish
Original file line number Diff line number Diff line change
@@ -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_*
11 changes: 8 additions & 3 deletions docker/start.sh
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit fc42743

Please sign in to comment.