Mercurial > lada > lada-server
annotate db_schema/Dockerfile @ 1315:84bb7e2aecb1
Do not redefine existing operator.
The removed SQL failed on PostgreSQL 9.5 because the operator is
provided and needed by the system. Further, it does not seem to be
used here.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Fri, 17 Mar 2017 13:25:57 +0100 |
parents | 902bc2190fec |
children | 5a62a68bccf5 |
rev | line source |
---|---|
1306
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
1 # Docker file for postgresql 9.5 on debain |
743
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
2 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
3 # build with e.g. `docker build --force-rm=true -t koala/lada_db .', |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
4 # then run with e.g. |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
5 # `docker run --name lada_db -dp 2345:5432 koala/lada_db:latest' |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
6 # |
1086
259a6b638968
Prepare for easier schema update testing.
Tom Gottfried <tom@intevation.de>
parents:
1056
diff
changeset
|
7 # For easier testing of schema or example data changes, it can be useful to add |
259a6b638968
Prepare for easier schema update testing.
Tom Gottfried <tom@intevation.de>
parents:
1056
diff
changeset
|
8 # `-v $PWD:/opt/lada_sql/' and run setup-db.sh within the container. |
259a6b638968
Prepare for easier schema update testing.
Tom Gottfried <tom@intevation.de>
parents:
1056
diff
changeset
|
9 # |
743
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
10 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
11 FROM debian:jessie |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
12 MAINTAINER tom.gottfried@intevation.de |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
13 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
14 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
15 # Use utf-8 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
16 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
17 RUN echo \ |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
18 "locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8" | \ |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
19 debconf-set-selections && \ |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
20 echo "locales locales/default_environment_locale select en_US.UTF-8" | \ |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
21 debconf-set-selections |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
22 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
23 RUN apt-get update -y && apt-get install -y locales |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
24 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
25 ENV LC_ALL en_US.UTF-8 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
26 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
27 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
28 # Install packages |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
29 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
30 RUN apt-get update && \ |
1306
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
31 apt-get install -y curl unzip make gcc |
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
32 RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" \ |
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
33 >> /etc/apt/sources.list |
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
34 RUN curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - |
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
35 RUN apt-get update && \ |
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
36 apt-get install -y --no-install-recommends \ |
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
37 postgresql-9.5-postgis-2.3 postgresql-9.5-postgis-scripts postgis |
743
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
38 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
39 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
40 # Use user postgres to run the next commands |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
41 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
42 USER postgres |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
43 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
44 RUN /etc/init.d/postgresql start && \ |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
45 psql --command "CREATE USER admin WITH SUPERUSER PASSWORD 'secret';" |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
46 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
47 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
48 # Adjust PostgreSQL configuration so that remote connections to the |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
49 # database are possible. |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
50 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
51 RUN echo "host all all 0.0.0.0/0 md5" >> \ |
1306
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
52 /etc/postgresql/9.5/main/pg_hba.conf |
743
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
53 |
1306
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
54 RUN echo "listen_addresses='*'" >> /etc/postgresql/9.5/main/postgresql.conf |
743
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
55 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
56 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
57 # Expose the PostgreSQL port |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
58 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
59 EXPOSE 5432 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
60 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
61 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
62 # Create database |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
63 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
64 # Don't mind scary messages like |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
65 # 'FATAL: the database system is starting up'. |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
66 # It's because of the -w |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
67 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
68 ADD . /opt/lada_sql/ |
1086
259a6b638968
Prepare for easier schema update testing.
Tom Gottfried <tom@intevation.de>
parents:
1056
diff
changeset
|
69 WORKDIR /opt/lada_sql/ |
743
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
70 |
1306
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
71 RUN /usr/lib/postgresql/9.5/bin/pg_ctl start -wD /etc/postgresql/9.5/main/ && \ |
743
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
72 /opt/lada_sql/setup-db.sh |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
73 |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
74 # |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
75 # Set the default command to run when starting the container |
c7fcc46c6a57
Add Dockerfile for dockerised DB-server.
Tom Gottfried <tom@intevation.de>
parents:
diff
changeset
|
76 # |
1306
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
77 CMD ["/usr/lib/postgresql/9.5/bin/postgres", "-D", \ |
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
78 "/var/lib/postgresql/9.5/main", "-c", \ |
902bc2190fec
Set postgresql version to 9.5 in dockerfile for more jsonb support.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1086
diff
changeset
|
79 "config_file=/etc/postgresql/9.5/main/postgresql.conf"] |