Я недавно создавал новые сайты с Wordpress & Docker, и у меня есть разумное представление о том, как все это работает, и теперь я хочу переместить некоторые признанные сайты в Docker.
Я следовал этому руководству:
https://stephenafamo.com/blog/moving-wordpress-docker-container/
У меня все настроено так, как должно быть, но когда я захожу на домен domain.com:1234, я получаю сообщение об ошибке «Ошибка при установлении соединения с базой данных». Я изменил «DB HOST» на «mysql» в wp-config.php, как было рекомендовано, и все данные о БД с сайта, который я ввожу, верны.
Я подключился к контейнеру mysql и проверил, что БД там и с нужным пользователем, а также убедился, что pw верен и через CLI mysql.
SELinux настроен на разрешение, и я не изменил ни владельца, ни права доступа к файлам / каталогам, и для последних все каталоги 755 и файлы 644, как и должно быть.
Редактировать: я должен упомянуть, что база данных / данные и все, что под ними, кажется, принадлежит пользователю / группе 'polkitd input' вместо root.
Журналы Docker не слишком много говорят мне, кроме 500 сообщений об ошибках для контейнера WP, когда я просматриваю сайт через порт 1234 (как и ожидалось).
Это файл docker-compose:
version: '2'
services:
example_db:
image: mysql:latest
container_name: example_db
volumes:
- ./database/data:/var/lib/mysql
- ./database/initdb.d:/docker-entrypoint-initdb.d
restart: always
environment:
MYSQL_ROOT_PASSWORD: password123 # any random string will do
MYSQL_DATABASE: mydomin_db # the name of your mysql database
MYSQL_USER: my domain_me # the name of the database user
MYSQL_PASSWORD: password123 # the password of the mysql user
example:
depends_on:
- example_db
image: wordpress:php7.1 # we're using the image with php7.1
container_name: example
ports:
- "1234:80"
restart: always
links:
- example_db:mysql
volumes:
- ./src:/var/www/html
Предложения приветствуются, так как я вне идей!