Mura CMS / Docker Compose Подключиться к базе данных
Я запускаю экземпляр Mura CMS с docker compose (используя config/docker/local-mysql/docker-compose.yml) и получаю следующую ошибку:
500 Error
Error Executing Database Query.
Datasource:nodatabase
SQL:SELECT IF('muradb' IN(SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA), 1, 0) AS found
Code:n/a
Type:Database
Timed out trying to establish connection
Вот копия моего Docker-compose.yml, который является стандартным yml-файлом, который Blue River распространяет вместе с Mura. Это не было изменено кроме изменения от порта 8080 до порта 80.
version: '2.1'
services:
#Mura Server
mura_mysql_cfml:
image: ortussolutions/commandbox:latest
environment:
PORT: 80
SSL_PORT: 8443
CFENGINE: adobe@2016
CFCONFIG_ADMINPASSWORD: NOT_SECURE_CHANGE
MURA_ADMIN_USERNAME: admin
MURA_ADMIN_PASSWORD: admin
MURA_ADMINEMAIL: example@localhost.com
MURA_APPRELOADKEY: appreload
MURA_DATASOURCE: muradb
MURA_DATABASE: muradb
MURA_DBTYPE: mysql
MURA_DBUSERNAME: root
MURA_DBPASSWORD: NOT_SECURE_CHANGE
MURA_DBHOST: mura_mysql
MURA_DBPORT: 3306
MURA_SITEIDINURLS: "false"
MURA_INDEXFILEINURLS: "false"
MURA_TESTBOX: "true"
volumes:
- ../../../:/app
ports:
- "80:80"
#MySQL
mura_mysql:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: NOT_SECURE_CHANGE
MYSQL_DATABASE: muradb
volumes:
- mura_mysql_data:/var/lib/mysql
ports:
- "55555:3306"
volumes:
mura_mysql_data:
Есть идеи, что может пойти не так?
2 ответа
Ваша проблема, где вы изменили ports
в вашем docker-compose.yml
файл.
Левая сторона является host
... или ваш local
машина. Справа находится сетевой порт контейнера, который вы не должны менять. Итак, под mura_mysql_cfml
сервис попробуйте:
ports:
- "80:8080"
Кроме того, под environment:
установка, я бы пропустил PORT: 80
переменная окружения в целом. Причина в том, что этот порт не отображается в базовом образе Docker.
РЕДАКТИРОВАТЬ:
Кроме того, я только что заметил, что вы не используете изображение по умолчанию. Это критично! Изображение, которое вы пытаетесь использовать, даже не имеет Mura CMS. Это означает, что вы должны будете поставить его или смонтировать как том в /app
каталог.
По совпадению, я работаю над тем, чтобы собрать несколько примеров изображений, и docker-compose.yml
файлы для пользователей, таких как вы. Это все еще работает, но я думаю, что вы все равно должны взглянуть на хранилище: https://github.com/blueriver/docker-muracms
Надеюсь это поможет!
По какой-то причине веб-сервер в вашем стеке Docker не может достичь сервера MySQL.
Как вы выполняете docker-compose? Получаете ли вы какой-либо другой результат, если вы пробуете другие файлы docker-compose в Mura?
Кроме того, вы пытались установить Kitematic? Он предоставляет много визуальных данных о ваших док-контейнерах и изображениях.