Wie erstelle ich eine Postgres-Erweiterung im Container?
Ich muss installierenhstore
zu meinem Docker postgres
Hier ist mein gewöhnlicher Befehl in der Shell, um mein Bedürfnis auszuführen
psql -d template1 -c 'create extension hstore';
Wenn ich diese Zeile von meinem Container entferne, funktioniert es, aber ich habe ausgeführthstore
Installation von mir selbst und ich muss jedem in meinem Projekt sagen, dass dies keine gute Praxis ist
Hier ist meinyml file
postgres:
build:
context: .
dockerfile: dockerfiles/devdb.dockerfile
environment:
POSTGRES_USER: uih
POSTGRES_PASSWORD: uIhbod!
POSTGRES_DB: uih_portal
ports:
- "5433:5432"
Hier ist meine Docker-Dateidevdb.dockerfile
FROM postgres:9.5
RUN mkdir -p /var/lib/postgresql-static/data
ENV PGDATA /var/lib/postgresql-static/data
# psql -d template1 -c 'create extension hstore;'
CMD ["psql", "-d", "template1", "-c", "'create extension hstore;'"]
RUN echo "hstore extension installed"
Nach dem Build kann ich es nicht zum Laufen bringen
$ docker-compose up postgres
Recreating uihportal_postgres_1
Attaching to uihportal_postgres_1
postgres_1 | psql: could not connect to server: No such file or directory
postgres_1 | Is the server running locally and accepting
postgres_1 | connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
uihportal_postgres_1 exited with code 2
Frage
Wie installiert manhstore
aus der Docker-Datei?
Ich möchte ein Bild erstellen und es für das gesamte Projekt für mein Team wiederverwenden.