diff --git a/.travis.yml b/.travis.yml index eda8ec712f..d4d7c4759e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,6 @@ env: - VERSION=9.3 - VERSION=9.2 - VERSION=9.1 - - VERSION=9.0 install: - git clone https://github.com/docker-library/official-images.git ~/official-images diff --git a/9.0/Dockerfile b/9.0/Dockerfile deleted file mode 100644 index 007d1ab5c2..0000000000 --- a/9.0/Dockerfile +++ /dev/null @@ -1,50 +0,0 @@ -# vim:set ft=dockerfile: -FROM debian:jessie - -# explicitly set user/group IDs -RUN groupadd -r postgres --gid=999 && useradd -r -g postgres --uid=999 postgres - -# grab gosu for easy step-down from root -RUN gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 -RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates wget && rm -rf /var/lib/apt/lists/* \ - && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/1.2/gosu-$(dpkg --print-architecture)" \ - && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/1.2/gosu-$(dpkg --print-architecture).asc" \ - && gpg --verify /usr/local/bin/gosu.asc \ - && rm /usr/local/bin/gosu.asc \ - && chmod +x /usr/local/bin/gosu \ - && apt-get purge -y --auto-remove ca-certificates wget - -# make the "en_US.UTF-8" locale so postgres will be utf-8 enabled by default -RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \ - && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 -ENV LANG en_US.utf8 - -RUN mkdir /docker-entrypoint-initdb.d - -RUN apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8 - -ENV PG_MAJOR 9.0 -ENV PG_VERSION 9.0.22-1.pgdg80+1 - -RUN echo 'deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main' $PG_MAJOR > /etc/apt/sources.list.d/pgdg.list - -RUN apt-get update \ - && apt-get install -y postgresql-common \ - && sed -ri 's/#(create_main_cluster) .*$/\1 = false/' /etc/postgresql-common/createcluster.conf \ - && apt-get install -y \ - postgresql-$PG_MAJOR=$PG_VERSION \ - postgresql-contrib-$PG_MAJOR=$PG_VERSION \ - && rm -rf /var/lib/apt/lists/* - -RUN mkdir -p /var/run/postgresql && chown -R postgres /var/run/postgresql - -ENV PATH /usr/lib/postgresql/$PG_MAJOR/bin:$PATH -ENV PGDATA /var/lib/postgresql/data -VOLUME /var/lib/postgresql/data - -COPY docker-entrypoint.sh / - -ENTRYPOINT ["/docker-entrypoint.sh"] - -EXPOSE 5432 -CMD ["postgres"] diff --git a/9.0/docker-entrypoint.sh b/9.0/docker-entrypoint.sh deleted file mode 100755 index 95ec772380..0000000000 --- a/9.0/docker-entrypoint.sh +++ /dev/null @@ -1,101 +0,0 @@ -#!/bin/bash -set -e - -set_listen_addresses() { - sedEscapedValue="$(echo "$1" | sed 's/[\/&]/\\&/g')" - sed -ri "s/^#?(listen_addresses\s*=\s*)\S+/\1'$sedEscapedValue'/" "$PGDATA/postgresql.conf" -} - -if [ "$1" = 'postgres' ]; then - mkdir -p "$PGDATA" - chmod 700 "$PGDATA" - chown -R postgres "$PGDATA" - - chmod g+s /run/postgresql - chown -R postgres /run/postgresql - - # look specifically for PG_VERSION, as it is expected in the DB dir - if [ ! -s "$PGDATA/PG_VERSION" ]; then - gosu postgres initdb - - # check password first so we can output the warning before postgres - # messes it up - if [ "$POSTGRES_PASSWORD" ]; then - pass="PASSWORD '$POSTGRES_PASSWORD'" - authMethod=md5 - else - # The - option suppresses leading tabs but *not* spaces. :) - cat >&2 <<-'EOWARN' - **************************************************** - WARNING: No password has been set for the database. - This will allow anyone with access to the - Postgres port to access your database. In - Docker's default configuration, this is - effectively any other container on the same - system. - - Use "-e POSTGRES_PASSWORD=password" to set - it in "docker run". - **************************************************** - EOWARN - - pass= - authMethod=trust - fi - - { echo; echo "host all all 0.0.0.0/0 $authMethod"; } >> "$PGDATA/pg_hba.conf" - - # internal start of server in order to allow set-up using psql-client - # does not listen on TCP/IP and waits until start finishes - gosu postgres pg_ctl -D "$PGDATA" \ - -o "-c listen_addresses=''" \ - -w start - - : ${POSTGRES_USER:=postgres} - : ${POSTGRES_DB:=$POSTGRES_USER} - export POSTGRES_USER POSTGRES_DB - - if [ "$POSTGRES_DB" != 'postgres' ]; then - psql --username postgres <<-EOSQL - CREATE DATABASE "$POSTGRES_DB" ; - EOSQL - echo - fi - - if [ "$POSTGRES_USER" = 'postgres' ]; then - op='ALTER' - else - op='CREATE' - fi - - psql --username postgres <<-EOSQL - $op USER "$POSTGRES_USER" WITH SUPERUSER $pass ; - EOSQL - echo - - echo - for f in /docker-entrypoint-initdb.d/*; do - case "$f" in - *.sh) echo "$0: running $f"; . "$f" ;; - *.sql) - echo "$0: running $f"; - psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" < "$f" - echo - ;; - *) echo "$0: ignoring $f" ;; - esac - echo - done - - gosu postgres pg_ctl -D "$PGDATA" -m fast -w stop - set_listen_addresses '*' - - echo - echo 'PostgreSQL init process complete; ready for start up.' - echo - fi - - exec gosu postgres "$@" -fi - -exec "$@"