Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

137
Vistas
Problema de conectividad de la base de datos de Mura CMS dentro de Docker usando el archivo docker-compose.yml

Estoy tratando de configurar Mura CMS usando Docker en mi máquina local. La base de datos MYSQL parece no funcionar.

Estoy usando el comando docker-compose up . He estado probando el siguiente ejemplo: https://github.com/blueriver/docker-muracms/tree/master/examples/blueriver-muracms-mysql

 version: '3.3' services: muracms: image: blueriver/muracms:latest depends_on: - svc_muradb environment: MURA_ADMIN_USERNAME: admin MURA_ADMIN_PASSWORD: 5trongP@55w0rd MURA_ADMINEMAIL: youremail@domain.com MURA_APPRELOADKEY: appreload MURA_DATASOURCE: dsn_muracms MURA_DATABASE: muradb MURA_DBTYPE: mysql MURA_DBUSERNAME: root MURA_DBPASSWORD: 5trongP@55w0rd MURA_DBHOST: svc_muradb MURA_DBPORT: 3306 MURA_SITEIDINURLS: "false" MURA_INDEXFILEINURLS: "true" MURA_TESTBOX: "true" MURA_USESSL: "false" volumes: - ./www/modules:/var/www/modules - ./www/plugins:/var/www/plugins - ./www/sites:/var/www/sites - ./www/themes:/var/www/themes ports: - "8888:8888" # DB svc_muradb: image: mysql:latest environment: MYSQL_DATABASE: muradb MYSQL_ROOT_PASSWORD: 5trongP@55w0rd volumes: - vol_muradb:/var/lib/mysql ports: - "5001:3306" # Mounts volumes: vol_muradb:

El siguiente mensaje de error que veo cuando navego por localhost:8888:

 500 Error Could not create connection to database server. Code:0 Type:database lucee.runtime.exp.DatabaseException: Could not create connection to database server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.Util.getInstance(Util.java:408) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:918) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esto se debe a que cuando se inician los muracms , el svc_muradb aún no finaliza su inicio.

depends_on solo asegura que svc_muradb comience primero y luego inicie muracms . Pero el proceso de inicio svc_muradb es asíncrono. Entonces, antes de que svc_muradb esté listo, es probable que sus muracms ya quieran conectar el db.

Este problema está documentado en la guía oficial , que sugiere que escriba un contenedor para el comando svc_muradb .

Como sigue, solo te doy un ejemplo:

docker-compose.yml:

 version: "2" services: web: build: . ports: - "80:8000" depends_on: - "db" command: ["./wait-for-it.sh", "db:5432", "--", "python", "app.py"] db: image: postgres

espéralo.sh:

 #!/bin/sh # wait-for-postgres.sh set -e host="$1" shift cmd="$@" until PGPASSWORD=$POSTGRES_PASSWORD psql -h "$host" -U "postgres" -c '\q'; do >&2 echo "Postgres is unavailable - sleeping" sleep 1 done >&2 echo "Postgres is up - executing command" exec $cmd

Con la solución anterior, el contenedor web ejecutará wait-for-it.sh , y primero intentará vincular su contenedor de dependencia db:5432 , solo después de que confirme que puede vincularse a la base de datos con psql client , luego ejecutará el comando real python app.py .

Por su parte, necesita hacer un cambio relacionado con mysql client test , entonces todo está bien.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda