Mercurial > sat_docs
view docker/sat_pubsub/Dockerfile @ 116:d0a5db5b9bdf
docker: fixed bad stopping:
- use exec when it was missing, so the TERM signal is properly catched, and containers can be stopped instead of being killed after 10s
- for a unknown reason, exec and su don't handle correctly "$@" with Docker in base.scripts/sat. It's working as expected when launched from withing a running container, but not when launched with "docker run", so a workaround is used with trap and wait
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 04 Mar 2016 23:31:26 +0100 |
parents | b69056368901 |
children | d493fe1cf095 |
line wrap: on
line source
############################################################### # # # Salut à Toi/sat_pubsub # # This Dockerfile build a SàT Pubsub service for SàT # # Salut à Toi is a multi-frontends multi-purposes XMPP client # # # ############################################################### FROM salutatoi/base:latest MAINTAINER Goffi <goffi@goffi.org> ############################ # AUTOMATIC CONFIGURATION # ############################ COPY scripts/sat_pubsub scripts/launch_postgres_and_pubsub.sh /usr/local/bin/ RUN chown root:root /usr/local/bin/sat_pubsub && \ chmod 0555 /usr/local/bin/sat_pubsub && \ chmod 0555 /usr/local/bin/launch_postgres_and_pubsub.sh && \ ######## # BASE # ######## apt-get install -y --no-install-recommends postgresql && \ apt-get install -y --no-install-recommends python-psycopg2 && \ apt-get clean && \ cd /usr/share && \ hg clone https://repos.goffi.org/sat_pubsub && chown -R sat:sat sat_pubsub && \ ############ # DATABASE # ############ cd sat_pubsub/db && \ # To simplify installation, we integrate our own PostgreSQL # future alternate version may use an external PostgreSQL container service postgresql start; \ su -c "createuser -d -w sat" postgres; \ su -c "createdb pubsub" postgres; \ su -c "psql pubsub < pubsub.sql" sat; \ service postgresql stop ########## # LAUNCH # ########## # we need to launch PostgreSQL, so we launch as root then switch to sat user ENTRYPOINT ["launch_postgres_and_pubsub.sh"]