Du bør ikke installere noget i en bash-session.
Da docker bruger UnionFS (union filsystemtjeneste)
, så snart du afslutter din bash-session, går enhver ændring tabt, når beholderen fjernes.
Du kan prøve en docker-commit
af din "Afsluttede" container, men det er ikke sådan, du bygger et nyt billede.
Det du gør er at oprette en tekstfil med navnet Dockerfile
, hvor du følger lignende trin som ofcode-billedet Dockerfile
(bortset fra at du vil starte fra ubuntu).
Det inkluderer:
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ører docker build -t mypostgres .
:der vil bygge et nyt billede, som vil indeholde postgres.
Med andre ord er Dockerfilen der for at fortsætte installationstrinnene i en deklarativ tekstfil, hvorfra du til enhver tid kan bygge et billede.