2016-06-30 14 views
2

Jungs.Docker Orakel-Datenbank schlägt beim Starten nach dem Commit

Ich laufe gerade in Probleme; Ich richte eine Docker-Umgebung mit einer Oracle-Datenbank ein. Ich bin der oracledb 12c auf diese Weise ausgeführt wird:

Docker run -d -p 1521: 1521 --name my-db sath89/oracle-12c

Alles ist gut so weit geht, wenn ich Docker protokolliert den neuen Container geht super, irgendwelche Fehler.

Dann habe ich nur eine Datenbank von einem anderen Server exportiert, und ich importiere es in meinem neuen DB-Container. Alles wird cool, ich kann es ohne Fehler importieren und meine Umgebung wird erfolgreich gestartet.

Das Problem kommt, wenn ich versuche, den db Behälter zu begehen, die ich zuvor erstellten, ich dies tun:

Docker my-db my-committed-db

Die begehen begehen ist erfolgreich und ich bekomme mein neues Bild namens my-committed-db, dann lösche ich natürlich alle meine alten Container.

Aber wenn ich laufe das Bild, das ich im vorherigen Schritt erstellt, auf diese Weise:

Docker run -d -p 1521: 1521 --name my-db my-committed-db

beginnt der Behälter nach oben, aber wenn ich auf docker Protokolle aus, es tritt nur 1. das ist, was ich bekommen:

docker logs -F my-db

ls: cannot access /u01/app/oracle/oradata: No such file or directory 
    Database not initialized. Initializing database. 
    Starting tnslsnr 
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/xe.log" for further details. 

Ich kann die Protokolldatei nicht ansehen, weil der Container gestoppt ist.

Irgendwelche Ideen, was ich falsch mache? Überspringe ich etwas?

Danke.

+0

https://asciinema.org/a/45878 i ähnliche Ausgabe in diesem Video sehen kann:/ aber wenn die continner gestoppt ist, es ist in der Tat ein Problem. Mein Ansatz wäre, das Bild zu inspizieren und auf seinen Einstiegspunkt zu schauen. Wenn ich zu einem neuen Bild beginne, füge ich einen neuen Einstiegspunkt hinzu, der nichts tut, aber auch nicht stirbt. und versuchen Sie, die Befehle vom ursprünglichen Einstiegspunkt von Hand auszuführen. –

+0

Ja, dieses Video zeigt genau die gleiche Ausgabe. Aber nur dieses "Schau dir die Log-Datei an" /u01/app/oracle/cfgtoollogs/dbca/xe.log "für weitere Details" Denn wenn du siehst, zeigt meine Ausgabe keinen Prozentsatz wie im Video an. Meine explodiert einfach :(Aber ich könnte nur die Lösung finden: D; Lassen Sie es mich unten posten. –

+0

@ asciinema.org/a/45878 Die Lösung war, die ursprüngliche Dockerfile zu bearbeiten, und löschen Sie die VOLUMES-Ebene. Dann erstellen Sie eine neue Bild, und benutze das: D Danke. –

Antwort

0

Die Lösung bestand darin, die ursprüngliche Dockerfile für sath89/oracle-12c zu bearbeiten und die VOLUMES-Ebene zu löschen. Erstellen Sie dann ein neues Image, führen Sie den Importvorgang dort durch und verwenden Sie dann diesen zum Commit.

Verwandte Themen