No debe instalar nada en una sesión bash.
Dado que docker usa UnionFS (servicio de sistema de archivos de unión)
, tan pronto como salga de su sesión de bash, cualquier modificación se perderá cuando se elimine el contenedor.
Podrías probar un docker commit
de su contenedor "Salido", pero no es así como construye una nueva imagen.
Lo que haces es crear un archivo de texto llamado Dockerfile
, en el que sigue pasos similares a los de la imagen oficial de postgres Dockerfile
(excepto si desea comenzar desde ubuntu).
Incluye:
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/*
Usted ejecuta docker build -t mypostgres .
:eso creará una nueva imagen que contendrá postgres.
En otras palabras, el Dockerfile está ahí para persistir los pasos de instalación en un archivo de texto declarativo, a partir del cual puede crear una imagen en cualquier momento.