Benutzer-Werkzeuge

Webseiten-Werkzeuge


pc:mysqldocker

MySQL, MongoDB, PHP, phpMyAdmin und Apache als Docker

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

Dockerfile
FROM php:8.0-apache
RUN apt-get update && apt-get upgrade -y
RUN cd /var/www/html
RUN apt-get install -y git unzip libssh-dev
RUN docker-php-ext-install mysqli pdo pdo_mysql && docker-php-ext-enable mysqli pdo pdo_mysql
RUN yes '' | pecl install mongodb   &&  echo "extension=mongodb.so" > $PHP_INI_DIR/conf.d/mongo.ini
 
RUN curl https://getcomposer.org/installer -o composer_installer.php
RUN php composer_installer.php
RUN php composer.phar require mongodb/mongodb

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 :-)

docker-compose.yml
# ./docker-compose.yml
 
version: '3'
 
services:
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: myadminpassword
      MYSQL_DATABASE: generic_db
      MYSQL_USER: bpadmin
      MYSQL_PASSWORD: mypassword
    ports:
      - "9906:3306"
  web:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: php_web
    depends_on:
      - db
    volumes:
      - ./php/:/var/www/html/
    ports:
      - "8100:80"
    stdin_open: true
    tty: true
  pma:
    image: phpmyadmin
    container_name: phpmyadmin
    environment:
 
      phpmyadmin: https://my_real_domain.com/phpmyadmin/
    ports:
      - "9910:80"
pc/mysqldocker.txt · Zuletzt geändert: 2021/11/28 16:15 von admin