Привет, в настоящее время я пытаюсь настроить экземпляр Moodle с помощью Docker.
< ul>
[*]Контейнер mariadb (изображение: mariadb:latest)
[*]Контейнер PHP (изображение: php:8.3-apache)
Согласно докеру, все работает, и если я использую nmap для проверки связи с адресом, я получаю:
Код: Выделить всё
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000099s latency).
Not shown: 997 closed tcp ports (conn-refused)
PORT STATE SERVICE
80/tcp open http
443/tcp open https
3306/tcp open mysql
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
Ошибка: пустой ответ
Когда я открываю свой локальный хост в браузере, я получаю сообщение 127.0.0.1 не отправлял никаких данных. (примечание: это браузер) сообщение, а не сообщение об ошибке Apache). Я не получаю никаких сообщений об ошибках/журналах в своих контейнерах докеров.
Я обновил Apache DocumentRoot, чтобы он соответствовал WORKDIR, но проблема все еще сохраняется.
Из-за отсутствия ошибок/отзывов Мне трудно понять, где искать.
Настройка Docker
Вот мои файлы Docker на случай, если вы захотите повторить мой сценарий:
- создайте в корне каталог /moodle, содержащий клон из этого репозитория Github.
- создайте пустой репозиторий /moodledata (убедитесь, что он имеет права на запись/создание)
Код: Выделить всё
docker-compose.ymlКод: Выделить всё
name: 'moodle_405'
services:
mariadb:
image: mariadb:latest
container_name: mariadb
environment:
- MYSQL_ROOT_PASSWORD=bitnami
- MYSQL_DATABASE=moodle
- MYSQL_USER=admin
- MYSQL_PASSWORD=password
volumes:
- ./mariadb:/var/lib/mysql
ports:
- "3306:3306"
moodle:
image: php:8.3-apache
container_name: moodle
build:
context: .
dockerfile: Dockerfile
environment:
- MOODLE_DATABASE_HOST=mariadb
- MOODLE_DATABASE_NAME=moodle
- MOODLE_DATABASE_USER=admin
- MOODLE_DATABASE_PASSWORD=password
volumes:
# ./moodle contains a simple fork from moodle's github repository
- ./moodle:/var/www/html/moodle
# ./moodledata is an empty folder that will be updated during moodle's setup
- ./moodledata:/var/www/moodledata
depends_on:
- mariadb
ports:
- "80:8080"
- "443:8443"
Код: Выделить всё
DockerfileКод: Выделить всё
FROM php:8.3-apache
LABEL maintainer="John Whick "
LABEL description="John's Moodle setup for docker"
LABEL version="1.2"
# PHP extensions
RUN apt-get update && apt-get install -y \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
libxml2-dev \
libzip-dev \
unzip \
git \
&& docker-php-ext-install mysqli zip gd xml soap intl \
&& a2enmod rewrite
# Set Apache DocumentRoot
RUN sed -ri -e 's!/var/www/html!/var/www/html/moodle!g' \
/etc/apache2/sites-available/*.conf \
/etc/apache2/apache2.conf \
/etc/apache2/conf-available/*.conf
WORKDIR /var/www/html/moodle
EXPOSE 80
EXPOSE 8080
Подробнее здесь: https://stackoverflow.com/questions/793 ... se-on-host
Мобильная версия