[英]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.