【发布时间】:2022-01-11 16:09:36
【问题描述】:
我是 docker 新手。我试图找到与我相同的其他解决方案,但它根本不起作用。 当运行 docker compose up 时,它响应连接错误。这是我的完整代码Link
错误
错误号:-111,服务器-api-1 |代码:'ECONNREFUSED',server-api-1 | 系统调用:'connect',server-api-1 |地址:'127.0.0.1', 服务器-api-1 |端口:3306,服务器-api-1 |致命:真实 服务器-api-1 | },服务器-api-1 |原文:错误:连接 ECONNREFUSED 127.0.0.1:3306 server-api-1 |在 TCPConnectWrap.afterConnect [as oncomplete] (node:net:1161:16) { 服务器-api-1 |错误号:-111,服务器-api-1 |代码: 'ECONNREFUSED',服务器-api-1 |系统调用:'connect',server-api-1 |地址:'127.0.0.1',server-api-1 |端口:3306, 服务器-api-1 |致命:真正的 server-api-1 |服务器-api-1 | }
config.json
{
"development": {
"username": "root",
"password": "Password",
"database": "vc_chat",
"dialect": "mysql"
},
"test": {
"username": "root",
"password": null,
"database": "database_test",
"host": "127.0.0.1",
"dialect": "mysql"
},
"production": {
"username": "root",
"password": null,
"database": "database_production",
"host": "127.0.0.1",
"dialect": "mysql"
}
}
Dockerfile
FROM node:16-alpine
WORKDIR /app/server
ADD server /app/server
RUN npm install
COPY . .
CMD [ "npm", "start" ]
docker-compose.yml
version: "3.9"
services:
# Mysql
mysql_db:
container_name: db_container
image: mysql:latest
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_DATABASE: "vc_chat"
MYSQL_USER: "root"
MYSQL_PASSWORD: "Password"
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
DB_HOSTNAME: mysql
volumes:
- mysql_db:/var/lib/mysql
api:
build: .
ports:
- 4000:4000
environment:
- EMAIL= "test@gmail.com"
- PASSWORD= "test123"
- JWT_SECRET= "DENNY"
depends_on:
- mysql_db
volumes:
mysql_db: {}
【问题讨论】:
标签: node.js docker sequelize.js