PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Docker, installez postgresql dans un conteneur contenant ubuntu:14.04, perdu lorsqu'il est hors du conteneur

Vous ne devez rien installer dans une session bash.
Puisque docker utilise UnionFS (service de système de fichiers union) , dès que vous quittez votre session bash, toute modification est perdue lorsque le conteneur est supprimé.

Vous pouvez essayer un docker commit de votre conteneur "Exited", mais ce n'est pas ainsi que vous créez une nouvelle image.

Ce que vous faites est de créer un fichier texte nommé Dockerfile , dans laquelle vous suivez des étapes similaires à celles de l'image postgres officielle Dockerfile (sauf que vous voulez commencer à partir d'ubuntu).

Il comprend :

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

Vous exécutez docker build -t mypostgres . :qui construira une nouvelle image qui contiendra postgres.

En d'autres termes, le Dockerfile est là pour conserver les étapes d'installation dans un fichier texte déclaratif, à partir duquel vous pouvez créer une image à tout moment.