services: mariadb: # Определение сервиса image: bitnami/mariadb:11.4 # Имя образа docker и его версия (предпочтиельно указывать версию явно, вместо использования latest) container_name: mariadb # Имя контейнера environment: # Переменные окружения - MARIADB_USER=${MARIADB_USER} # Имя пользователя - MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD} # Пароль для пользователя root - MARIADB_PASSWORD=${MARIADB_PASSWORD} # Пароль для пользователя - MARIADB_DATABASE=${MARIADB_DATABASE} # Имя базы данных volumes: # Настройка volumes для хранения данных - moodle_db_data:/bitnami/mariadb # Хранение данных в volume moodle_db_data # Далее комментарии идентичны wordpress_db: image: mariadb:11.4 container_name: wordpress_db environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} volumes: - wordpress_db_data:/var/lib/mysql # Хранение данных в volume wordpress_db_data moodle: image: bitnami/moodle:4.4 container_name: moodle environment: - MOODLE_DATABASE_HOST=mariadb # Указание хоста базы данных - MOODLE_DATABASE_PORT_NUMBER=3306 - MOODLE_DATABASE_NAME=${MARIADB_DATABASE} - MOODLE_DATABASE_USER=${MARIADB_USER} - MOODLE_DATABASE_PASSWORD=${MARIADB_PASSWORD} volumes: - moodle_data:/bitnami/moodle # Хранение данных в volume moodle_data - moodledata_data:/bitnami/moodledata # Хранение данных (moodledata) в отдельном volume depends_on: # Зависимость от сервиса mariadb. Данный сервис не запустится, пока не запустится mariadb - mariadb ports: # Проброс порта для доступа - "${MOODLE_PORT}:8080" wordpress: image: wordpress:6 container_name: wordpress environment: WORDPRESS_DB_HOST: wordpress_db WORDPRESS_DB_USER: ${MYSQL_USER} WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD} WORDPRESS_DB_NAME: ${MYSQL_DATABASE} volumes: - wordpress_data:/var/www/html # Хранение данных в volume wordpress_data depends_on: # Зависимость от сервиса wordpress_db, Данный сервис не запустится, пока не запустится wordpress_db - wordpress_db ports: - "${WORDPRESS_PORT}:80" volumes: # Определение volumes для хранения данных moodle_db_data: wordpress_db_data: moodle_data: moodledata_data: wordpress_data: