2017-10-11 3 views
0

Je courais une instance CMS avec Compose Mura docker (en utilisant config/docker/mysql-local/docker-compose.yml) et obtenir l'erreur suivante:CMS Mura/Docker Compose Connectez-vous à la base de données

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 

Voici une copie de mon fichier Docker-compose.yml, qui est le fichier yml standard que Blue River distribue avec Mura. Il n'a pas été modifié autre que le changement du port 8080 au port 80.

version: '2.1' 

services: 
    #Mura Server 
    mura_mysql_cfml: 
    image: ortussolutions/commandbox:latest 
    environment: 
     PORT: 80 
     SSL_PORT: 8443 
     CFENGINE: [email protected] 
     CFCONFIG_ADMINPASSWORD: NOT_SECURE_CHANGE 
     MURA_ADMIN_USERNAME: admin 
     MURA_ADMIN_PASSWORD: admin 
     MURA_ADMINEMAIL: [email protected] 
     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: 

Des idées de ce qui peut aller mal?

+0

Pouvez-vous ajouter le fichier docker-compose.yml que vous utilisez? Nous pourrions peut-être voir votre problème ici. Changez simplement les mots de passe avant de poster. –

Répondre

0

Votre problème est l'endroit où vous avez modifié le ports dans votre fichier docker-compose.yml.

Le côté gauche est le host ... ou votre machine local. Le côté droit est le port réseau du conteneur, que vous ne devez pas modifier. Ainsi, sous l'essai de service mura_mysql_cfml:

ports: 
    - "80:8080" 

En outre, sous le paramètre environment:, je serais ommettre la variable d'environnement PORT: 80 tout à fait. La raison en est que ce port n'est pas exposé dans l'image Docker sous-jacente.


EDIT:

Aussi, je viens de remarquer que vous n'êtes pas en utilisant l'image par défaut. C'est essentiel! L'image que vous essayez d'utiliser ne contient même pas de CMS Mura. Ce qui signifie que vous devrez le fournir, ou le monter en tant que volume dans le répertoire /app. Par coïncidence, je travaille sur la mise en place de quelques exemples d'images, et docker-compose.yml fichiers pour des utilisateurs comme vous. C'est encore en cours, mais je pense que vous devriez jeter un oeil au dépôt de toute façon: https://github.com/blueriver/docker-muracms

Espérons que cela aide!

+0

L'image dans était le problème. J'ai utilisé ce docker-compose.yml https://hub.docker.com/r/blueriver/muracms/ qui a fonctionné. Maintenant, j'ai un problème avec les barres obliques de fin sur les URL - mes URL ne sont pas réécrites pour inclure des barres obliques. Savez-vous comment je peux aborder cela? –

+0

Si vous utilisez l'image "officielle", tout devrait fonctionner avec ou sans les barres obliques. Je ne suis pas certain de la question à laquelle vous faites allusion. Pourriez-vous être plus précis? Ou, donner un lien ou une sortie d'erreur? –

+0

Utilisation de l'image officielle. J'ai déployé un bundle de site fait dans Mura 7.0.44, tout a l'air génial sauf quand je vais sur les URL de mon site sans slash (www.fakesite.com/site), ils ne réécrivent pas pour ajouter le back /, à la place je obtenir une erreur 404. Toutefois, si j'ajoute un index.cfm à l'URL sans une barre oblique finale (www.fakesite.com/index.cfm/site), il redirige vers (www.fakesite.com/index.cfm/site/).J'ai l'identifiant du site et l'index désactivés dans le fichier de composition. J'ai aussi settings.ini.cfm mis à 0 pour les deux. J'ai ajouté les règles web.config et .htaccess aussi. des idées sur la façon de résoudre ce problème? –

-1

Pour une raison quelconque, le serveur Web de votre pile de dockers ne peut pas atteindre le serveur mysql.

Comment exécutez-vous le docker-composer? Obtenez-vous un résultat différent si vous essayez les autres fichiers docker-composer dans Mura?

Avez-vous déjà essayé d'installer Kitematic? Il fournit beaucoup de données visuelles sur vos conteneurs et images docker.