Возникла проблема, начал изучать докер, развернул в yml mysql + node, пытаюсь подключиться к БД в Node js. Но проблема в том, что выпадает ошибка, когда я пытаюсь подключиться к ней в node
Файл
docker-compose.yml
version: '3.1'
services:
api:
build: ./api
command: npm run start
restart: unless-stopped
ports:
- "3344:3344"
environment:
- PORT=3344
depends_on:
- adminer
- api_db
api_db:
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: test
MYSQL_USER: root
MYSQL_PASSWORD: root
adminer:
image: adminer
restart: always
ports:
- 8080:8080
Вот файл Dockerfile
FROM node:13.12-alpine
WORKDIR /usr/src/app
COPY package*.json ./
COPY yarn.lock ./
RUN npm install
COPY . .
А вот сам файл Сервера
index.js
const express = require('express')
const app = express()
const mysql = require('mysql2/promise');
app.get('/test', async (req, res) => {
try {
const connection = await mysql.createConnection(
{
host: 'localhost',
user: 'root',
password: 'root',
database: 'test'
});
const test = await connection.execute('create database test')
console.log(test)
res.send('ready ')
} catch(e) {
console.log(e)
res.send('error')
}
})
app.listen(process.env.PORT | 3344, () => {
console.log('server work')
})
Когда я запускаю команду
docker-compose up --build
Выдает вот это
Но как только я делаю get запрос на /test, выдает вот это
В чем может быть проблема?