Sie sollten nichts in einer Bash-Sitzung installieren.
Da Docker UnionFS (Union Filesystem Service) verwendet
, sobald Sie Ihre Bash-Sitzung verlassen, gehen alle Änderungen verloren, wenn der Container entfernt wird.
Sie könnten es mit einem docker commit
versuchen Ihres "Exited"-Containers, aber so erstellen Sie kein neues Image.
Was Sie tun, ist eine Textdatei mit dem Namen Dockerfile
zu erstellen , in dem Sie ähnlichen Schritten folgen wie beim offiziellen Postgres-Image Dockerfile
(außer Sie möchten von Ubuntu aus starten).
Es enthält:
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/*
Sie führen docker build -t mypostgres .
aus :Das erstellt ein neues Image, das Postgres enthält.
Mit anderen Worten, das Dockerfile dient dazu, die Installationsschritte in einer deklarativen Textdatei zu speichern, aus der Sie jederzeit ein Image erstellen können.