Wir nutzen zwei Container:
Wir haben versucht die MongoDB und den Apache Server ineinen Container zu packen. Ein Startscipt starte beide Daemons. Etwas war falsch, den die MongoDB war dann nicht mehr erreichbar :-(.
Die zwei Containerlösung nutzt Docker-compose )
Download mongodb-php.zip
Das compose.yaml befindet sich im Verzeichnis docker.
Vorerst mountet der php-Container ein Verzeichnis mit html und php-Programmen. Dies ist praktisch für die Entwicklung. Wenn das Programm nicht mehr geändert wird, wird das Volume entfernt.
Im dockefile im Verzeichnis php ist das kopieren nach /var/www/html auskommentiert. Für den realen Betrieb muss das angepasst werden.
Im Verzeichnis von compose.yaml kann man starten mit
docker compose up -d
Stoppen tut man mit
docker compose down
Im php muss man die Containeradresse angeben. Man findet sie mit
docker network inspect docker_default
Einen einzelnen Container inspiziert man mit
docker inspect id
Mit docker ps bzw. docker container ps die id herausfinden,
Dann
docker exec -it 2210d1e8c778 bash