当前位置: 首页 > 知识库问答 >
问题:

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

夏炎彬
2023-03-14

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

我已经建立了我的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"]
version: '3'
services:
  web:
    build: .
    depends_on:
      - db

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

雷迪斯。js

const PORT = 6379
const HOST = 'db'

服务器js(express.js)

const PORT = '0.0.0.0:8080'

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

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

我不知道该怎么办。我不认为自己对事物有很深的了解。

共有1个答案

裴宜春
2023-03-14

这是因为您没有在主机上打开端口。您可以尝试:

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

  db:
    image: redis
    ports:
      - "6379:6379"
 类似资料:
  • 我试图从postman向我的后端spring boot容器发送请求,我得到 “无法发送请求”消息 docker-compose.yml: 应用程序启动良好,0个错误 这是我的Dockerfile 这是我的应用程序属性文件: 我无法访问我的控制器或发送任何请求的问题我尝试了所有的端口和所有的名称(localhost,预订,应用程序),总是CONNREFUSED http://mysqldb:8080

  • 我有一个运行在docker容器中的dotnet API。 我想从这个API访问执行容器的本地主机上的PostgreSQL数据库。在Windows上,我使用运行了这个连接到本地主机数据库的应用程序,但在linux上它不起作用。 我的连接字符串类似于: 我试图通过添加p来运行

  • 我有两个应用程序 - app1 在。app2 正在 上运行。App1 向应用程序 2 发出 HTTP 获取请求,应用程序 2 返回一个简单的 json 响应。在我的Mac上本地运行这两个应用程序时,这一切都可以正常工作,因为我让app1向“”发送GET请求。 但是当容器化这两个应用程序(并在同一个网络上运行它们)时,app1应该将GET命令发送到哪个url?它被硬编码为“”,并且端口暴露在app2

  • 从Excel电子表格执行HTTP POST需要什么VBA代码?

  • 问题内容: 我已经在网上寻找了一段时间,但没有找到解决我的问题的解决方案,该解决方案与此问题类似,容器之间的DockerHTTP请求。但是这个答案已经是我在计算机上正在做的事情。我正在提供我的docker-compose文件 在我的Web容器中,我向或发出了http get请求,但是我没有看到该请求找到通往应用容器的方式。我在浏览器控制台中看到的是此错误消息。我不确定为什么http请求没有进入应用

  • 我有一个. NET Core Docker容器,它无法向外部世界发送请求。我不能curl或ping任何东西,包括像8.8.8.8这样的dns记录。然而,MongoDB容器能够ping和curl到外部世界。 我尝试了几种图像: microsoft/dot net: 2.0-运行时 微软/asp网络核心 容器的传入连接工作正常。 Docker在ubuntu机器上运行。我正在使用Docker Swell