Zuerst einmal brauchen wir ein Dockerfile für den PHP und Apache Anteil. Man beachte vor allem das Hinzufügen der mysql und pdo - Elemente, die eine PHP Datenbankanbindung braucht
FROM php:8.0-apache RUN docker-php-ext-install mysqli pdo pdo_mysql && docker-php-ext-enable mysqli pdo pdo_mysql RUN apt-get update && apt-get upgrade -y
Dieses Dockerfile binden wir dann in das restliche docker-compose.yml ein:
Beim Verbinden mper phpmyadmin nicht vergessen, das der Root- Account bei MySQL auch tatsächlich root heißt und nicht irgendwie anders
Wenn Mongo-Express als /mongo-express Subdirectory laufen soll, muss ME_CONFIG_SITE_BASEURL
# ./docker-compose.yml
# Use root/example as user/password credentials
version: '3.1'
services:
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_ENABLE_ADMIN: true
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/
ME_CONFIG_SITE_BASEURL: /mongoexpress
ME_CONFIG_BASICAUTH_USERNAME: root
ME_CONFIG_BASICAUTH_PASSWORD: example
VCAP_APP_HOST: 0.0.0.0
depends_on:
- mongo