无法连接到使用docker-compose创建的Docker容器内的Express服务器

时间:2017-04-02 13:50:19

标签: node.js express docker docker-compose

我有一堆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端口,没有任何问题。

所以我怀疑这是我的机器的问题,但我不确定是什么。

我会感激任何帮助。提前谢谢。

0 个答案:

没有答案