sql >> Databasteknik >  >> RDS >> PostgreSQL

Docker, installera postgresql i en behållare som innehåller ubuntu:14.04, förlorad när den är ute ur behållaren

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.



  1. Kan du replikera en specifik databas eller tabell med Amazons RDS

  2. PHP kan inte ansluta till PostgreSQL på CentOS 7

  3. MYSQL- Ta tag i de sista 5 raderna EFTER att du har sorterat dem efter datum

  4. Det finns symboler som  och så vidare i databasen, vad ska man göra?