簡體   English   中英

如何從本地主機向我的Docker容器發送HTTP請求?

[英]How to send HTTP requests to my docker container from localhost?

我無法對在VM(Docker工具箱)中運行的docker容器(與Redis數據庫進行通信的Node.js API)發出HTTP請求時遇到麻煩。

我已經用所需的端口設置了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"

redis.js

const PORT = 6379
const HOST = 'db'

server.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中的代理設置不正確,或者防火牆阻止了請求。詳細信息:錯誤:連接ECONNREFUSED 192.168.99.100:8080。”

不知道從這里去哪里。 我認為自己不熟悉物聯網。

這是因為您尚未在主機上打開端口。 您可以嘗試:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM