Alarmdisplay-Community

Docker DB zugriff

Hallo,

erstmal muss ich sagen tolle Sache dieses Projekt,
Leider scheitere ich schon bei der Installation grandios.

Würde es gerne im Docker laufen lassen habe mich dabei 1:1 an eure Installationsanleitung gehalten leider bekomme ich auch nach mehreren Versuchen immer wieder die Fehlermeldung im Log:

[2021-11-09T11:58:12.791] [ERROR] default - Database connection failed: getaddrinfo ENOTFOUND db db:3306,

Die Datenbank ist MariaDB und befindet sich ebenfalls in Docker.

Bitte im Tipps das zu beheben komme nicht dahinter was nicht stimmt.

Hallo,
danke für’s Ausprobieren :slight_smile:

Unter welchem Namen läuft der Datenbank-Container? Die Anleitung geht davon aus, dass er db heißt (--name db). Er kann natürlich auch anders heißen, das müsste dann in der Umgebungsvariable MYSQL_URI angepasst werden.

Oder heißt er schon db und es klappt trotzdem nicht?

Der Name ist richtig habe auch schon andere versucht ob es damit klappt.
Jetzt scheint er die Datenbank zu finden aber jetzt bekomme ich schon wieder eine ganze Reihe neue Fehler:

[2021-11-09T15:03:48.732] [INFO] default - Logging level is 'INFO'
/home/node/app/node_modules/sequelize/lib/sequelize.js:187
      options.dialect = urlParts.protocol.replace(/:$/, '');
                                          ^
TypeError: Cannot read property 'replace' of null
    at new Sequelize (/home/node/app/node_modules/sequelize/lib/sequelize.js:187:43)
    at Function.default_1 (/home/node/app/sequelize.js:37:23)
    at Function.configure (/home/node/app/node_modules/@feathersjs/feathers/lib/application.js:59:8)
    at Object.<anonymous> (/home/node/app/app.js:49:5)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/home/node/app/index.js:6:31)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at Module.load (internal/modules/cjs/loader.js:653:32)

Hmm, kann es sein, dass jetzt die MYSQL_URI nicht mit mysql:// beginnt? Zumindest klingt das in der Fehlermeldung so.

Ich glaube, ich hatte das auch schon, dass in Docker benannte Container nicht über den Namen gefunden wurden. Zur Not kannst du für erste Tests auch die IP-Adresse des DB-Containers nehmen (siehe docker inspect db). Im Echtbetrieb kann das natürlich mal schief gehen, wenn der DB-Container durch Neustart eine andere Adresse bekommt.

Danke dir du hast mich auf den richtigen Trichter gebracht.
Hatte immer wieder den gleichen typo in der Adresse.
Der Hub läuft schon mal im Container.

1 „Gefällt mir“