2016-03-21 19 views
4

Ich verwende dieses Bild, das wie erwartet funktioniert.PHP-Unterstützung für MongoDB

https://hub.docker.com/r/clue/adminer/

Das einzige Problem ist, dass es nicht PHP-Erweiterungen erforderlich ist, um eine Verbindung MongoDB oder Oracle ...

Oracle 
None of the supported PHP extensions (OCI8, PDO_OCI) are available. 

MongoDB 
None of the supported PHP extensions (mongo) are available. 

Gibt es ein Bild, das Unterstützung bietet hat für diese 2-Datenbank enthält?


Edit: ich einen anderen Behälter für Oracle verwenden können und wie diese MongoDB. Aber dann unterstützt dieser Container nicht mssql und postgresql. Ich suche alle DB-Unterstützung in einem einzigen Bild.

wget http://www.adminer.org/latest.php -O /tmp/index.php 

docker run -d -p 8080:80 -v /tmp/:/app lukaszkinder/apache-php-oci8-pdo_oci 

Und mongoDB kann mit diesem verbunden werden.

docker run -d -p 8070:80 -v /tmp:/var/www/html ishiidaichi/apache-php-mongo-phalcon 

Edit 2: Die dockerfile für Oracle finden Sie hier.

https://github.com/davidgaya/docker-apache-php-oci/blob/master/Dockerfile

Aber ich bin nicht sicher, wie diese 2 Docker Dateien zu verschmelzen.

Antwort

3

Sie könnten Ihr eigenes Image mit einer Dockerfile erstellen.

Es gibt zwei Möglichkeiten:

  • die current image Dockerfile nehmen und fügen Sie, was Sie brauchen. Wenn Sie auf diese Weise vorgehen, können Sie auch die nicht verwendeten Pakete löschen.

  • Erstellen Sie eine neue und geben Sie mithilfe des Schlüsselworts FROM an, dass Ihr Bild auf dem aktuellen basiert.

1

Ich würde Ihnen empfehlen, Ihr eigenes Docker-Bild zu erstellen. Es ist wahrscheinlich selten, dass Sie im Internet ein Image finden, das perfekt zu Ihren Anforderungen passt.

Aus meiner Sicht würde der beste Ansatz beginnen, indem Sie ein Dockerfile mit Ihrem bevorzugten Basisbild erstellen (d. H. Eines der von Ihnen erwähnten). Fügen Sie dann den Rest der Anforderungen hinzu, die Sie benötigen.

Darüber hinaus können Sie Ihr eigenes Docker-Repository in Dockerhub öffnen und Ihre Bilder von dort aus verwalten.