diff options
author | crystaldust <juzhenatpku@gmail.com> | 2014-04-23 03:29:43 +0000 |
---|---|---|
committer | crystaldust <juzhenatpku@gmail.com> | 2014-04-23 03:29:43 +0000 |
commit | b270b34c98b10b0e4807048890e883b6b06a6461 (patch) | |
tree | 4fe3dd4219cec4406d5a6c21470c2e4b00139c94 /dockerfiles/images/postgres | |
parent | 4efb56af03bf8a113e9b39d123b9399e546d3505 (diff) | |
parent | b01e967a9f2526365c71c49cdebf16bda43cd7fd (diff) |
Merge branch 'feature/docker'
Add the sciprt for deplying gogs in docker, support the user to choose database(MySQL or PostgreSQL) and memory cache(redis or memcached).
Diffstat (limited to 'dockerfiles/images/postgres')
-rw-r--r-- | dockerfiles/images/postgres/.gitkeep | 0 | ||||
-rw-r--r-- | dockerfiles/images/postgres/Dockerfile | 51 |
2 files changed, 51 insertions, 0 deletions
diff --git a/dockerfiles/images/postgres/.gitkeep b/dockerfiles/images/postgres/.gitkeep new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/dockerfiles/images/postgres/.gitkeep diff --git a/dockerfiles/images/postgres/Dockerfile b/dockerfiles/images/postgres/Dockerfile new file mode 100644 index 00000000..44e82b7d --- /dev/null +++ b/dockerfiles/images/postgres/Dockerfile @@ -0,0 +1,51 @@ +FROM ubuntu +MAINTAINER SvenDowideit@docker.com + +ENV DEBIAN_FRONTEND noninteractive + +# Add the PostgreSQL PGP key to verify their Debian packages. +# It should be the same key as https://www.postgresql.org/media/keys/ACCC4CF8.asc +RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8 + +# Add PostgreSQL's repository. It contains the most recent stable release +# of PostgreSQL, ``9.3``. +RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list + +# Update the Ubuntu and PostgreSQL repository indexes +RUN apt-get update + +# Install ``python-software-properties``, ``software-properties-common`` and PostgreSQL 9.3 +# There are some warnings (in red) that show up during the build. You can hide +# them by prefixing each apt-get statement with DEBIAN_FRONTEND=noninteractive +RUN apt-get -y -q install python-software-properties software-properties-common +RUN apt-get -y -q install postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3 + +# Note: The official Debian and Ubuntu images automatically ``apt-get clean`` +# after each ``apt-get`` + +# Run the rest of the commands as the ``postgres`` user created by the ``postgres-9.3`` package when it was ``apt-get installed`` +USER postgres + +# Create a PostgreSQL role named ``docker`` with ``docker`` as the password and +# then create a database `docker` owned by the ``docker`` role. +# Note: here we use ``&&\`` to run commands one after the other - the ``\`` +# allows the RUN command to span multiple lines. +RUN /etc/init.d/postgresql start &&\ + psql --command "CREATE USER root WITH SUPERUSER PASSWORD 'THE_DB_PASSWORD';" &&\ + createdb -O root gogs + +# Adjust PostgreSQL configuration so that remote connections to the +# database are possible. +RUN echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.3/main/pg_hba.conf + +# And add ``listen_addresses`` to ``/etc/postgresql/9.3/main/postgresql.conf`` +RUN echo "listen_addresses='*'" >> /etc/postgresql/9.3/main/postgresql.conf + +# Expose the PostgreSQL port +EXPOSE 5432 + +# Add VOLUMEs to allow backup of config, logs and databases +VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"] + +# Set the default command to run when starting the container +CMD ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib/postgresql/9.3/main", "-c", "config_file=/etc/postgresql/9.3/main/postgresql.conf"] |