Du bör inte installera någonting i en bash-session.
Eftersom docker använder UnionFS (unionsfilsystemtjänst)
, så fort du avslutar din bash-session går alla ändringar förlorade när behållaren tas bort.
Du kan prova en docker-commit
av din "Exited"-behållare, men det är inte så du bygger en ny bild.
Vad du gör är att skapa en textfil som heter Dockerfile
, där du följer liknande steg som ofcode image Dockerfile
(förutom att du vill börja från ubuntu).
Det inkluderar:
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/*
Du kör docker build -t mypostgres .
:som kommer att bygga en ny bild som kommer att innehålla postgres.
Med andra ord, Dockerfilen är till för att fortsätta installationsstegen i en deklarativ textfil, från vilken du kan bygga en bild när som helst.