PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Docker, installa postgresql in un contenitore contenente ubuntu:14.04, perso quando sei fuori dal contenitore

Non dovresti installare nulla in una sessione bash.
Poiché docker utilizza UnionFS (servizio filesystem union) , non appena esci dalla sessione bash, qualsiasi modifica viene persa quando il contenitore viene rimosso.

Potresti provare un docker commit del tuo contenitore "Exited", ma non è così che crei una nuova immagine.

Quello che fai è creare un file di testo chiamato Dockerfile , in cui segui passaggi simili a quelli dell'immagine ufficiale di postgres Dockerfile (tranne se vuoi iniziare da Ubuntu).

Include:

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/*

Tu esegui docker build -t mypostgres . :questo creerà una nuova immagine che conterrà postgres.

In altre parole, Dockerfile è lì per mantenere i passaggi di installazione in un file di testo dichiarativo, da cui puoi creare un'immagine in qualsiasi momento.