我有一堆MySQL数据库,一个redis缓存和一个用Express编写的Web服务器。
整个堆栈正在工作并正确连接到彼此。这是我的最终节点日志:
users-service | debug: [SERVER] Initializing routes
users-service | debug: starting Route: auth
users-service | debug: starting Route: flows
users-service | debug: starting Route: users
users-service | debug: [SERVER] Listening on port 3001
docker ps告诉我容器正确映射端口:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f6a99ecdd218 users-service "nodemon start" 52 minutes ago Up 2 minutes 0.0.0.0:3001->3001/tcp users-service
38966d30ec0a redis "docker-entrypoint..." 59 minutes ago Up 2 minutes 0.0.0.0:6379->6379/tcp users-service-redis
fb79ec8fb50c users-service-mysql "docker-entrypoint..." About an hour ago Up 2 minutes 0.0.0.0:3306->3306/tcp users-service-mysql
在Web容器内部,Node进程(在本例中为nodemon)正在运行:
PID USER TIME COMMAND
1 root 0:00 node /usr/local/bin/nodemon start
21 root 0:00 sh -c node start start.js
22 root 0:00 node start start.js
32 root 0:00 sh
37 root 0:00 ps
然而,当我尝试使用curl或postman访问端口3001时,他们只是等待响应直到超时。
有趣的是,这不仅适用于我的机器。在我的队友的机器上,它可以连接到3001端口,没有任何问题。
所以我怀疑这是我的机器的问题,但我不确定是什么。
我会感激任何帮助。提前谢谢。