2016-03-25 3 views

Antwort

3

Es gibt grundsätzlich drei Möglichkeiten, um eine Abbilddatei in einer Datenbank läuft wiederherstellen innerhalb azk (sie funktionieren auch mit anderen DBs wie MySQL und MariaDB):

1- Verwenden eines lokalen Clients (Grafik-Tool oder Befehlszeilenprogramm):

Vor der Verbindung zur Datenbank, müssen Sie die Datenbank läuft Port, um herauszufinden:

$ azk start postgres # Ensures the database is running 
$ azk status postgres 
┌───┬──────────┬───────────┬──────────────┬─────────────────┬─────────────┐ 
│ │ System │ Instances │ Hostname/url │ Instances-Ports │ Provisioned │ 
├───┼──────────┼───────────┼──────────────┼─────────────────┼─────────────┤ 
│ ↑ │ postgres │ 1   │ dev.azk.io │ 1-data:32831 │ -   │ 
└───┴──────────┴───────────┴──────────────┴─────────────────┴─────────────┘ 

Jetzt können wir auf die Datenbank mit dem Host dev.azk.io und den resultierend Port aus dem vorherigen Befehl (32381) verbinden . Der Benutzername, das Passwort und der Datenbankname sind in der Azkfile definiert.

Connecting to the DB

2- Mit azk shell und die Datenbank CLI:

die gleichen oben beschriebenen Schritte Ausführen der Datenbank ausgeführt Port zu finden, können Sie den folgenden Befehl ausführen:

$ azk shell postgres 
$ psql --host dev.azk.io --port 32831 --username ${POSTGRES_USER} \ 
--password=${POSTGRES_PASS} --dbname=${POSTGRES_DB} < dbexport.sql 

3 - Verwenden von Autoload-Skript aus der Datenbank Bild:

Die meisten der offiziellen Docker Images für Datenbanken hat ein entrypoint Skript, das nach Dateien im Ordner sucht und sie ausführen, wenn die Datenbank initialisiert wird. Da Sie einfach Ihre Dump-Dateien bereitstellen können (.sql) an dieser Stelle, wie in der folgenden Azkfile beschrieben:

systems({ 
postgres: { 
    image: { docker: "azukiapp/postgres" }, 
    mounts: { 
    "/docker-entrypoint-initdb.d": sync("./dumps"), 
    } 
} 
}); 

Starten des postgres System mit dem Befehl azk start postgres werden die Dump-Dateien automatisch ausgeführt werden.

Obs: Wie Sie im Postgres' script und in den Mysql's, die Dump-Dateien können Klartext (.sql), komprimierten (.sql.gz) oder auch Shell-Skripten (.sh) sehen können.