У меня проблемы с отправкой HTTP-запросов в мой докер-контейнер (это API-интерфейс Node.js, который связывается с базой данных Redis), который работает внутри виртуальной машины (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"
redis.js
const PORT = 6379
const HOST = 'db'
server.js (express.js)
const PORT = '0.0.0.0:8080'
Я успешно создаю контейнер, затем использую службу HTTP-запросов для проверки GET. Поскольку я запускаю Docker Toolbox и виртуальная машина находится на хосте 192.168.99.100, я отправляю свои запросы на http://192.168.99.100:8080.
Это не работает, сообщение об ошибке, которое появляется в моем коде Visual Studio: «Соединение отклонено. Служба не работает на сервере, или неверные настройки прокси в vscode, или брандмауэр блокирует запросы. Подробно : Ошибка: подключить ECONNREFUSED 192.168.99.100:8080."
Не уверен, куда идти отсюда. Я не считаю себя знающим в сети вещей.