контейнер узла ECONNREFUSED при попытке подключения к другому контейнеру mysql - PullRequest
0 голосов
/ 07 августа 2020

У меня есть API node.js, который я хочу развернуть в контейнере docker на сервере, но получил ECONNREFUSED

мой код, работающий, если я размещу на своем локальном p c (перед развертыванием на server) с IP-сервером, например 123.12.0.43 mysql порт 4000: 3306, и он отлично работает, и я могу выполнять CRUD.

, затем я начал развертывать узел на сервере с той же сетью, которая является mysq имеет 172.17.0.2, а узел имеет 172.17.0.3

Я изменил node.js env на

// in your .env
NODE_ENV=development
/* API INFO */
TIME_ZONE=
APP_PORT=3000

// in you .env.* (.env.local)
/* DATABASE INFORMATION */
DB_NOSQL_HOST=
DB_NOSQL_USER=
DB_NOSQL_PASSWORD=
DB_NOSQL_NAME=
DB_NOSQL_PORT=27017
DB_SQL_CLIENT=mysql
DB_SQL_HOST=172.17.0.2
DB_SQL_USER=root
DB_SQL_PASSWORD=password
DB_SQL_NAME=kulegofast_db
DB_SQL_PORT=3306

, и он вернул

Error:socket hang up

внезапно node.js контейнер остановлен

затем я попытался изменить порт на 4000, и он показывает CONNREFUSED.

я добавляю адрес привязки к my.cnf я пытался связать адрес = 0.0.0.0 и это не поможет, я попытался привязать адрес = 172.17.0.3, и это привело к остановке контейнера (mysql).

у кого-нибудь есть идея? пытался решить эту проблему в течение нескольких часов.

РЕДАКТИРОВАТЬ:

Я посмотрел на mysqld.log, и там говорится: [Примечание] Прервано соединение 105 с db: 'kulegofast_db' user: 'root 'host:' 172.17.0.3 '(Получена ошибка чтения коммуникационных пакетов).

Я тоже создал root@% root@172.17.0.3, но все еще не работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...