Я создал Dockerfile следующим образом:
FROM wordpress
RUN a2enmod userdir
Таким образом, я только что включил модуль dache пользователя apache.Кроме того, создайте образ и запустите по умолчанию docker-compose для wordpress, но с mapped / home dir для контейнера wordpress.
Это будет что-то вроде:
version: '3.1'
services:
custom_wordpress:
image: custom_wordpress
restart: always
volumes:
- /home:/home
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
Где custom_wordpress - это нашвновь созданный образ докера.Когда я запускаю его и подключаюсь к нему с помощью bash.
By:
> sudo docker exec -it fd /bin/bash
Набрав внутри контейнера:
> ls /etc/apache2/mods-enabled/ | grep user
, я вижу userdir.confфайл здесь.Так что он включен в apache.
Но когда я открою, откройте и перейдите к:
http://localhsot:8000/~username/
или
http://localhsot:8000/~username
Затем я получил сайт Wordpress с ошибкой:
Я также проверил, правильно ли сопоставлены тома,и да, они есть.Я вижу всех пользователей в каталоге / home.
Похоже, мой режим apache работает некорректно или WordPress как-то обрабатывает маршруты, это хорошее предположение?
И как это исправить?