Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何从localhost向我的docker容器发送HTTP请求?_Node.js_Docker_Http_Redis_Docker Compose - Fatal编程技术网

Node.js 如何从localhost向我的docker容器发送HTTP请求?

Node.js 如何从localhost向我的docker容器发送HTTP请求?,node.js,docker,http,redis,docker-compose,Node.js,Docker,Http,Redis,Docker Compose,我对docker容器(它是一个与Redis数据库通信的Node.js API)进行HTTP请求时遇到问题,该容器在VM(docker工具箱)中运行 我已使用所需的端口设置了Dockerfile和docker-compose.yml。建造它们并成功地运行它们 FROM node:8.15 WORKDIR /redis_server COPY package.json package-lock.json ./ RUN npm install COPY . ./ EXPOSE 8080 C

我对docker容器(它是一个与Redis数据库通信的Node.js API)进行HTTP请求时遇到问题,该容器在VM(docker工具箱)中运行

我已使用所需的端口设置了Dockerfile和docker-compose.yml。建造它们并成功地运行它们

FROM node:8.15

WORKDIR /redis_server

COPY package.json package-lock.json ./

RUN npm install

COPY . ./

EXPOSE 8080

CMD ["npm", "start"]
redis.js

const端口=6379
常量主机='db'
server.js(express.js)

const-PORT='0.0.0.0:8080'
我成功地构建了容器,然后使用HTTP请求服务测试GET。因为我运行Docker Toolbox,并且VM位于主机192.168.99.100上,所以我将请求发送到

这不起作用,出现在我的Visual Studio代码中的错误消息是“连接被拒绝。服务未在服务器上运行,或vscode中的代理设置不正确,或防火墙正在阻止请求。详细信息:错误:connect econnrefered 192.168.99.100:8080。”


不知道从这里到哪里去。我不认为自己对事物网络有知识。

< P>这是因为你还没有在主机上打开端口。你可以尝试:

version: '3'
services:
  web:
    build: .
    ports:
      - "8080:8080"
    depends_on:
      - db

  db:
    image: redis
    ports:
      - "6379:6379"

暴露端口8080是不够的;您可以运行多个这样的容器,以便Docker为您分配一个新端口。您需要将
web
容器端口8080映射到主机端口8080,就像您使用redis时那样。谢谢。我试过了,但它仍然给我同样的错误。我做了一次重建,现在仍然做同样的事情。有什么主意吗?谢谢!我试过了,但没用。这给了我同样的错误。有什么想法吗?@thomascaisie nodejs服务器端口仅保留8080@ThomasCaissie常数端口=8080
version: '3'
services:
  web:
    build: .
    ports:
      - "8080:8080"
    depends_on:
      - db

  db:
    image: redis
    ports:
      - "6379:6379"