Время ожидания подключения в Heroku истекло при использовании Docker

Я пытаюсь развернуть приложение Angular 4 на Heroku с помощью Docker. Но при доступе к моему приложению оно продолжает загружаться до тайм-аута. Я пробовал использовать nginx, другие серверы npm и мой собственный файл node.js для обслуживания моих файлов. Но со всеми методами то же самое. Мой Dockerfile таков:

FROM node:8-alpine

COPY package.json package-lock.json ./

RUN npm set progress=false && npm config set depth 0 && npm cache clean --force

RUN npm i && mkdir /ng-app && cp -R ./node_modules ./ng-app

WORKDIR /ng-app

COPY . .

RUN $(npm bin)/ng build --prod --aot=false --environment=prod

CMD node server.js

Мой server.js:

const express = require('express');
const path = require('path');
const morgan = require('morgan');
const app = express();
const port = process.env.PORT || 4200;

// Angular DIST output folder
app.use(express.static(path.join(__dirname, './dist')));

// Log
app.use(morgan('dev'));

// Send all other requests to the Angular app
app.get('*', function (req, res) {
    res.sendFile(path.join(__dirname, './dist/index.html'));
});

// Set Port
app.listen(port, function () {
    console.info('Running on localhost: '+port);
});

Я отправляю образ Docker через GitLab CI с этим заданием:

production:
    type: deploy
    stage: production
    image: docker:latest
    services:
      - docker:dind
    script:
        - docker login registry.heroku.com -u _ -p "$HEROKU_API_KEY"
        - docker build -t registry.heroku.com/"$HEROKU_APP_NAME"/web .
        - docker push registry.heroku.com/"$HEROKU_APP_NAME"/web
    only:
        - master

Задания выполняются успешно, и он развертывается на героку. Как вы можете видеть в журнале Heroku:

2018-03-14T19:05:29.972322+00:00 heroku[web.1]: Starting process with command `/bin/sh -c node\ server.js`
2018-03-14T19:05:32.484316+00:00 app[web.1]: Running on localhost: 48598
2018-03-14T19:05:33.694052+00:00 heroku[web.1]: State changed from starting to up

Но при доступе к Время ожидания подключения в Heroku истекло при использовании Docker

Что-то не хватает в Докере?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
238
1

Ответы 1

Выясните проблему. Я развернул новое приложение, и Heroku настроил его для образа докера. Приложение, которое я пытался развернуть, уже было настроено с помощью пакета сборки node.js.

Другие вопросы по теме