Не могу получить доступ к серверу Hapi внутри Docker Контейнера - PullRequest
0 голосов
/ 17 апреля 2020

Я создал простой NodeJS сервер с Hapi и попытался запустить его внутри Docker контейнера.

Он прекрасно работает внутри Docker, но я не могу получить к нему доступ (даже если я сделал сопоставление портов).

const hapi = require("@hapi/hapi");


const startServer = async () => {
   const server = hapi.Server({
    host: "localhost",
    port: 5000,
  });

    server.route({
        method: 'GET',
        path: '/sample',
        handler: (request, h) => {

            return 'Hello World!';
        }
    });
     await server.start();
     console.log(`Server running on port ${server.settings.port}`);
 };

 startServer();

Docker файл выглядит следующим образом:

FROM node:alpine

WORKDIR /usr/app

COPY ./package.json ./
RUN npm install

COPY ./ ./

CMD [ "npm","run","dev" ]

Чтобы запустить docker, я сначала строю с помощью:

docker build .

Затем я запускаю команду, получаемую сверху, для сопоставления портов:

docker run -p 5000:5000 <image-name>

Когда я пытаюсь получить к нему доступ через почтальона на http://localhost:5000/sample или даже localhost:5000/sample, он продолжает говорить Couldn't connect to server, а когда я открываю в chrome, он говорит то же самое Can't display page.

PS. Когда я запускаю код как обычно без Docker контейнера, просто с npm run dev из моего терминала, код работает просто отлично.

Так что, я уверен, код API в порядке.

Есть предложения ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...